Java加载dll动态库


1、Windows系统配置

​ 需将dll文件拷贝到 C:\Windows\System32\目录下

2、Linux系统配置

2.1 、确认java.library.path
# 动态库需放到java.library.path路径下
# 可在linux下执行以下命令输出
vim Test.java
# 插入内容(键盘输入i 或者 o)
public class Test {
    public static void main(String[] args) {
        System.out.println("java.library.path:" + System.getProperty("java.library.path"));
    }
}
# 保存退出(输入 :wq)
# 编译Test.java文件
javac Test.java
# 执行Test.class文件 -cp . 表示从当前目录搜索class文件;
java -cp . Test
2.2、LD_LIBRARY_PATH配置
# 在全局用户(/etc/profile) or 私人用户的启动脚本下(~/.bash_profile)添加配置
# 举例: LD_LIBRARY_PATH=.:/opt/dll/:LD_LIBRARY_PATH
LD_LIBRARY_PATH=.:${dll}:LD_LIBRARY_PATH
export LD_LIBRARY_PATH

3、验证动态库是否可以加载

# 可在linux下执行以下命令输出
vim Test.java
# 插入内容(键盘输入i 或者 o)
public class Test {
    public static void main(String[] args) {
        System.out.println("start");
        // 这里加入加载的dll动态库,文件名是:sctlla.dll ,引号内填写sctlla
        System.loadLibrary("sctlla");
        System.out.println("end");
    }
}
# 保存退出(输入 :wq)
# 编译Test.java文件
javac Test.java
# 执行Test.class文件 -cp . 表示从当前目录搜索class文件;
java -cp . Test

注意:LD_LIBRARY_PATH需在项目启动前配置正确,否则没办法加载动态库


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM