Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.library.path中没有opencv_java300_Java_Opencv_Jar - Fatal编程技术网

java.library.path中没有opencv_java300

java.library.path中没有opencv_java300,java,opencv,jar,Java,Opencv,Jar,提前谢谢 我有一个使用opencv-300.jar作为外部库的项目。我曾在eclipse和natBeans中尝试过这一点。当我从IDE本身运行我的项目时,这两个版本都能成功运行。 我希望我的项目将其导出为可运行(或可执行)的jar。 我将我的opencv_java300.dll文件与主java文件一起放在源文件夹中,并在 System.loadLibrary("opencv_java300"); 我将opencv-300.jar放在外部jar库和主程序所需的所有其他文件中。当从IDE运行时,

提前谢谢

我有一个使用opencv-300.jar作为外部库的项目。我曾在eclipse和natBeans中尝试过这一点。当我从IDE本身运行我的项目时,这两个版本都能成功运行。 我希望我的项目将其导出为可运行(或可执行)的jar。 我将我的opencv_java300.dll文件与主java文件一起放在源文件夹中,并在

 System.loadLibrary("opencv_java300");
我将opencv-300.jar放在外部jar库和主程序所需的所有其他文件中。当从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文件的路径,我的项目仍能成功运行

您可以使用如下所示的命令行参数,并调用具有main

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

我试图传递包含opencv路径的命令,但没有找到其他方法。不知何故,我尝试了一些创建我的jar的东西,它正在正常运行。我复制了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");

当我在eclipse中配置本机库时,我解决了我的问题。 您需要选择一个参考您的操作系统平台的库


看看这里:。

我也遇到了同样的问题,通过切换JRE系统库解决了这个问题。似乎只有在使用jre1.8.0_65时才会出现问题。我使用jre1.8.0_25、jre1.8.0.45和jre1.8.0.66时,一切都运行得很好。我能够通过删除我的
System.loadLibrary(“opencv_java300”)来修复错误并将jar文件添加到my 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>


在创建jar文件命令提示符时,这是否起作用……请告诉我如何使用此命令创建包含外部库的jar文件(例如其他jar文件..opencv-300.jar)。这在从准备好的jar文件执行类时起作用。无论何时调用jar文件中的类,都需要传递上述参数。我想创建一个不带任何参数的可运行jar文件。是否有任何方法在程序本身或从命令提示符创建jar文件时给出此命令。我不确定是否可能。但是,您可以编写一个bat文件,inturn使用上述参数调用runnable jar。您可以使用bat文件而不是runnable jar。它显示了一个错误,无法找到或加载mac的主类croopingtool2.jar。请看下面这个有用的答案:在我的例子中,我使用并必须放入
nu.pattern.OpenCV.loadShared()在我的代码开始时使用本机库并避免此错误消息。这不是关于eclipse,而是关于运行可执行文件,这对我来说不正常。我使用了load()而不是loadLibrary(),并通过DLL文件的路径在Core.NATIVE_LIBRARY_名称前面加上前缀。最后,在末尾添加.dll扩展名以形成dll文件的绝对路径。我使用的行是“System.load”(“D:\\OpenCV\\OpenCV-3.0.0\\OpenCV\\build\\java\\x64\\”+Core.NATIVE\u LIBRARY\u NAME+“.dll”);“记住根据您的系统使用x64或x86。我没有复制DLL文件。