OpenCV java 项目在 Eclipse 中运行,但不在命令行中运行

问题描述 投票:0回答:1

我下载了 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 文件包含在项目中,以便它可以从命令行运行吗?

java opencv noclassdeffounderror
1个回答
0
投票

当您在 Eclipse 中运行时,IDE 将自动处理依赖项,但是当您从命令行运行时,则需要您自己处理。

按照以下命令执行此操作:

  1. 编译时:

javac -cp 路径/to/opencv.jar YourProgram.java

  1. 跑步时:

java -cp 路径/to/opencv.jar:. -Djava.library.path=路径/to/opencv.dll 你的程序

并且您可以将.dll路径添加到系统路径中,然后它会自动访问它。

© www.soinside.com 2019 - 2024. All rights reserved.