我下载了 OpenCV for Java 并将 jar 和库添加到 Eclipse 中的项目中,它工作正常。
但是当我尝试运行我的
main(String args[])
所在的 .class 文件时,它会抛出
> java MainActivity 1 5 8
Exception in thread "main" java.lang.NoClassDefFoundError: org/opencv/core/Core
at HoleFiller.<init>(HoleFiller.java:29)
at MainActivity._fixHole(MainActivity.java:100)
at MainActivity._getImageNames(MainActivity.java:92)
at MainActivity._authArgTypes(MainActivity.java:66)
at MainActivity.main(MainActivity.java:17)
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)
... 5 more
它在这条线上崩溃了
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
有什么方法可以将 .jar 文件包含在项目中,以便它可以从命令行运行吗?
当您在 Eclipse 中运行时,IDE 将自动处理依赖项,但是当您从命令行运行时,则需要您自己处理。
按照以下命令执行此操作:
javac -cp 路径/to/opencv.jar YourProgram.java
java -cp 路径/to/opencv.jar:. -Djava.library.path=路径/to/opencv.dll 你的程序
并且您可以将.dll路径添加到系统路径中,然后它会自动访问它。