java.library.path中没有opencv_java300

Anu*_*nuj 9 java opencv jar

提前致谢..

我有一个使用opencv-300.jar作为外部库的项目.我在eclipse和natBeans中尝试过这个.当我从IDE本身运行我的项目时,它正在成功地工作.我希望我的项目将其导出为可运行(或可执行)的jar.我将opencv_java300.dll文件放在带有主java文件的源文件夹中,并将其命名为

 System.loadLibrary("opencv_java300");
Run Code Online (Sandbox Code Playgroud)

我将opencv-300.jar放在外部jar库和Main程序中需要的所有其他文件中.它从IDE运行时工作成功,但是当我创建可执行jar时,它显示错误

   Exception in thread "main" java.lang.UnsatisfiedLinkError: no     
   opencv_java300 in
   java.library.path
   at java.lang.ClassLoader.loadLibrary(Unknown Source)
   at java.lang.Runtime.loadLibrary0(Unknown Source)
   at java.lang.System.loadLibrary(Unknown Source)
   at CropFaceImage.main(CropFaceImage.java:27)
Run Code Online (Sandbox Code Playgroud)

请告诉我有没有办法在程序本身中提供java.library.path.即使我在外部库中删除了opencv_java300.dll文件的路径,我的项目仍在顺利进行.

Anu*_*nuj 11

我试图传递包含opencv路径的命令,但我找不到其他方法.不知何故,我尝试了一些创造我的罐子的东西,它运行正常.我复制了opencv_java300.dll文件,并将其放在my jar文件旁边的目录中,并对所有支持文件执行相同操作.我使用以下代码来执行此操作.

String opencvpath = System.getProperty("user.dir") + "\\files\\";
String libPath = System.getProperty("java.library.path");
System.load(opencvpath + Core.NATIVE_LIBRARY_NAME + ".dll");
Run Code Online (Sandbox Code Playgroud)


Kal*_*ali 5

您可以使用如下命令行参数并调用您的类

java -Djava.library.path="Folder which contains your dll" ....
Run Code Online (Sandbox Code Playgroud)