繁体   English   中英

OpenCV / Java在IDE中运行,但不能从命令行运行(Windows,Netbeans,JavaFX应用程序)

[英]OpenCV / Java works inside the IDE but not from command line (Windows, Netbeans, JavaFX app)

请不要将此标记为重复。 是的,关于这个问题和相关问题有很多答案,我尝试了6种方法无济于事。 希望有人可以提供帮助。 该项目在Netbeans IDE中运行良好。 这是我试过的,然后是错误信息......

1) F:\\Robotics\\HeadsUpDisplay>java -jar headsupdisplay.jar

2)如果我使用这个,同样的错误,opencv DLL和jar文件放在各种目录中:

F:\Robotics\HeadsUpDisplay>java -Djava.library.path="c:\..." -jar headsupdisplay.jar

3)如果系统PATH指向同一位置,则没有区别

4)如果我在Netbeans项目设置中更改java.library.path,则会出现相同的错误

5)如果我单独添加dll库加载没有区别(这里它们都在c:的根目录中以及项目目录中,并且单独的dll加载执行而没有错误):

System.loadLibrary(Core.NATIVE_LIBRARY_NAME);  
System.load("c:\\opencv_java401.dll");
System.load("c:\\opencv_ffmpeg401_64.dll");

6)某人发布的LoadLibrary类,使用当前文件名进行适当修改。

我正在使用的文件是:

opencv-401.jar
opencv_ffmpeg401_64.dll
opencv_java401.dll

这是错误消息:

java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389)
        at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at sun.launcher.LauncherHelper$FXHelper.main(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: org/opencv/core/Core
        at headsupdisplay.Main.main(Main.java:457)
        ... 11 more
Caused by: java.lang.ClassNotFoundException: org.opencv.core.Core
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 12 more
Exception running application headsupdisplay.Main

更新:我刚刚尝试使用他们的e(fx)插件将此应用程序移植到Eclipse Oxygen,并且没有任何问题。 我真的比Eclipse更喜欢Netbeans,因此也在Apache Netbeans 9.0中尝试过。 没运气。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM