提前致谢..
我有一个项目使用 opencv-300.jar 作为外部库。我已经在eclipse和 natBeans中尝试了这个。在我从IDE本身运行我的项目时,它都成功运行。 我希望我的项目将其导出为可运行(或可执行)的jar。 我将 opencv_java300.dll 文件放在带有主java文件的源文件夹中,并在
中命名 System.loadLibrary("opencv_java300");
我将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)
请告诉我有没有办法在程序本身中提供 java.library.path 。即使我在外部库中删除了 opencv_java300.dll 文件的路径,我的项目仍在顺利进行。
答案 0 :(得分:4)
您可以使用如下命令行参数,并调用具有主
的类java -Djava.library.path="Folder which contains your dll" ....
答案 1 :(得分:0)
当我在eclipse中配置本机库时,我解决了我的问题。 您需要选择一个库引用您的OS平台。
答案 2 :(得分:0)
我能够通过从代码中删除System.loadLibrary("opencv_java300");
并将jar文件添加到build.xml中的类路径来修复错误:
<jar destfile="program.jar" basedir="build/classes">
<manifest>
<attribute name="Main-Class" value="com.src.program"/>
<attribute name="Class-path" value="opencv-300.jar"/>
</manifest>
</jar>