java - 线程 "main"java.lang.NoClassDefFoundError : org/opencv/core/Core 中的异常

标签 java windows eclipse opencv

我使用 OpenCV 已经很长时间了。但这是我第一次在 eclipse 中使用 java。我跟着这个tutorial

在 eclipse 中导入 OpenCV 4.1.0。我什至搜索了很多网站,它们的步骤完全相同。每次运行代码时,我都会得到这个**错误*

    Exception in thread "main" java.lang.NoClassDefFoundError: org/opencv/core/Core
        at abss123.Openc_importing.main(Openc_importing.java:18)
    Caused by: java.lang.ClassNotFoundException: org.opencv.core.Core
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
        ... 1 more

有人说要改POM文件什么的,我不是很懂。我在 opencv 的源文件中找到了 POM 文件,但在构建中找不到,这意味着需要从源代码构建。我尝试使用 System.load(...) 命令加载 "opencv_java410.dll" 仍然无效

我还尝试将 Lib 文件夹和 bin 文件夹添加到我的 windows 环境中。但是,仍然没有任何效果。我将发布我的代码,一些命令被注释以表明我已经尝试过了。我希望你能帮助我,因为我从昨天起就陷入了这个问题。

package abss123;
import org.opencv.imgproc.Imgproc;
import org.opencv.video.*;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.CvType;
import org.opencv.imgcodecs.*;
import org.opencv.highgui.HighGui;
import java.io.*;

public class Openc_importing {

        public static void main(String args[]) {
        //LoadOpencv() ; 
        //nu.pattern.OpenCV.loadShared();
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME); 
        Mat image = new Mat(); 
        image = Imgcodecs.imread("MYPT000001.jpg"); 
        HighGui.imshow("First time", image);

    }

    static void LoadOpencv() {      
        System.load("C:\\opencv\\build\\java\\x64\\opencv_java410.dll");
    }
}

最佳答案

我在 OpenCV 3.4 或 4.2 版本中遇到此错误,我通过卸载 OpenCv 4.2 并安装 3.2.0 解决了该错误。问题解决了。

关于java - 线程 "main"java.lang.NoClassDefFoundError : org/opencv/core/Core 中的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56768953/

相关文章:

windows - SetupAPI(setupdi 函数)不链接

java - 在 Eclipse 中搜索项目中的引用会带来 .class 文件而不是 .java 文件

java - 覆盖 ArrayList<String> 中的 HashMap 中的值

java - 什么是NullPointerException,我该如何解决?

php - PHP $argv 在 Windows 上是否限制为 9 个参数?

windows - 批量 - 打印回显关闭

eclipse - "copy"和 "copy qualified name"之间的区别

java - 在 Eclipse 中导出可运行的 JAR,仅包含导入的类

java - 使用 javascript 设置 session 属性

java - 如何在JFrame java中显示两个 Canvas