Java 即使将依赖项添加到pom.xml,也会发生NoClassDefFoundError

Java 即使将依赖项添加到pom.xml,也会发生NoClassDefFoundError,java,maven,exception,datapicker,Java,Maven,Exception,Datapicker,所以我想用 清洁包装 但一旦我尝试在目标文件夹中运行我构建的jar文件,比如 java-jarapp-1.0-SNAPSHOT.jar 它显示错误: 错误:发生JNI错误,请检查您的安装并重试 重试线程“main”java.lang.NoClassDefFoundError中的异常: net/sourceforge/jdatepicker/DateModel位于 位于的java.lang.Class.getDeclaredMethods0(本机方法) privateGetDeclaredMeth

所以我想用

清洁包装

但一旦我尝试在目标文件夹中运行我构建的jar文件,比如

java-jarapp-1.0-SNAPSHOT.jar

它显示错误:

错误:发生JNI错误,请检查您的安装并重试 重试线程“main”java.lang.NoClassDefFoundError中的异常: net/sourceforge/jdatepicker/DateModel位于 位于的java.lang.Class.getDeclaredMethods0(本机方法) privateGetDeclaredMethods(Class.java:2701)位于 privateGetMethodRecursive(Class.java:3048)位于 java.lang.Class.getMethod0(Class.java:3018)位于 java.lang.Class.getMethod(Class.java:1784)位于 launcher.LaunchHelper.validateMainClass(LaunchHelper.java:544) 在 launcher.LaunchHelper.checkAndLoadMain(LaunchHelper.java:526) 原因:java.lang.ClassNotFoundException: net.sourceforge.jdatepicker.DateModel位于 java.net.URLClassLoader.findClass(URLClassLoader.java:381)位于 loadClass(ClassLoader.java:424)位于 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)位于 loadClass(ClassLoader.java:357)。。。还有7个

Pom数据选择器依赖项:

<!-- https://mvnrepository.com/artifact/net.sourceforge.jdatepicker/jdatepicker -->
        <dependency>
            <groupId>net.sourceforge.jdatepicker</groupId>
            <artifactId>jdatepicker</artifactId>
            <version>1.3.2</version>
        </dependency>

net.sourceforge.jdatepicker
jdatepicker
1.3.2

为什么即使添加了依赖项,也会发生异常?

您需要通过将所有依赖项添加到类路径来确保java运行时可以使用它们。在pom中添加依赖项只会有助于编译和打包项目

尝试在本地maven repo中删除并重新下载jar


如果您使用的是idea,请尝试在maven设置中更新本地repo。

尝试添加maven插件,这样它就可以将您的所有依赖项与jar文件一起复制,而无需进一步查看。为此,请添加:

<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.4</version>
        <executions>
            <execution>
                <id>copy-dependencies</id>
                <phase>package</phase>
                <goals><goal>copy-dependencies</goal></goals>
            </execution>
        </executions>
    </plugin>

org.apache.maven.plugins
maven依赖插件
2.4
复制依赖项
包裹
复制依赖项