java.library.path中没有opencv_java300

时间:2015-07-08 07:44:01

标签: java opencv jar

提前致谢..

我有一个项目使用 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 文件的路径,我的项目仍在顺利进行。

3 个答案:

答案 0 :(得分:4)

您可以使用如下命令行参数,并调用具有主

的类
java -Djava.library.path="Folder which contains your dll" ....

答案 1 :(得分:0)

当我在eclipse中配置本机库时,我解决了我的问题。 您需要选择一个库引用您的OS平台。

请看这里:adding openCV to java buildpath in eclipse

答案 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>