windows平台 eclipse 中 System.loadLibrary 相关错误及解决方法

来源:互联网 发布:镜像站搭建 知乎 编辑:程序博客网 时间:2024/05/21 08:47

环境: windows 7, Eclipse Java EE IDE for Web Developers.(Version: Oxygen.1 Release (4.7.1))


架包 objectdetection_lib.jar 中 ObjectDetectionImplement.class 中有调用 System.loadLibrary

static{          System.loadLibrary("objectdetection");  }

1. 出现以下问题时:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no objectdetection in java.library.pathat java.lang.ClassLoader.loadLibrary(ClassLoader.java:1865)at java.lang.Runtime.loadLibrary0(Runtime.java:870)at java.lang.System.loadLibrary(System.java:1122)at objectdetection.ObjectDetectionImplement.<clinit>(ObjectDetectionImplement.java:35)at objectdetection_demo.ObjectDetection.main(ObjectDetection.java:23)

解决办法: Run --> Debug Configures -->Arguments 的 VM arguments 中添加添加 System.loadLibrary 对应库的路径;

-Djava.library.path="E:\ObjectDetection_20170927\objectdetection\build\vs2015\bin;${env_var:PATH}"
windows 平台设置 LD_LIBRARY_PATH 无效;

2. 出现以下问题时:

Exception in thread "main" java.lang.UnsatisfiedLinkError: E:\ObjectDetection_20170927\objectdetection\build\vs2015\bin\objectdetection.dll: Can't find dependent librariesat java.lang.ClassLoader$NativeLibrary.load(Native Method)at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1937)at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1855)at java.lang.Runtime.loadLibrary0(Runtime.java:870)at java.lang.System.loadLibrary(System.java:1122)at objectdetection.ObjectDetectionImplement.<clinit>(ObjectDetectionImplement.java:35)at objectdetection_demo.ObjectDetection.main(ObjectDetection.java:23)
此时依赖库无法找到时,有以下两种办法:

 方法1: 将依赖库的路径添加至 windows 环境变量;

 方法2: 将依赖库全部拷贝至java 的根目录中(即 bin 的上一层目录);




阅读全文
0 0
原创粉丝点击