gpt4 book ai didi

java - maven java.lang.NoClassDefFoundError : nu/pattern/OpenCV error

转载 作者:行者123 更新时间:2023-12-01 08:53:35 24 4
gpt4 key购买 nike

我正在使用https://github.com/patternconsulting/opencvopencv 3.2.0 包含在我的 ma​​ven java 项目中。

我面临的问题是,当我使用 mvn install 生成 jar 文件,然后运行 ​​jar 文件 java -jar app.jar 我得到以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: nu/pattern/OpenCV
at com.example.Application.<clinit>(Application.java:21)
Caused by: java.lang.ClassNotFoundException: nu.pattern.OpenCV
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

下面是我的 pom.xml 文件的摘录

       <dependency>
<groupId>org.openpnp</groupId>
<artifactId>opencv</artifactId>
<version>3.2.0-1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<mainClass>com.example.Application</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</project>

下面是我的类的摘录,其中包含 main 方法:

public class Application {

static {
OpenCV.loadShared();
}


public Application() throws Exception {
// some code here
}

public static void main(String[] args) {
new Application();
}

知道什么可能导致这种情况发生以及如何解决它吗?

谢谢

最佳答案

依赖项不会自动添加到您的 jar 文件中,只会添加到您自己的代码中。

您有多种选择,因为您不是第一个遇到此问题的人。以您当前的技能水平,我建议您考虑创建一个 uber-jar (这样您的所有依赖项也都将包含在您的 jar 文件中)。

看看https://stackoverflow.com/a/1834905/53897其中详细说明了如何从这里开始。

关于java - maven java.lang.NoClassDefFoundError : nu/pattern/OpenCV error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42204007/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com