即使将依赖项添加到pom.xml,也会发生NoClassDefFoundError [英] NoClassDefFoundError occurs even if dependency was added to pom.xml

查看:163
本文介绍了即使将依赖项添加到pom.xml,也会发生NoClassDefFoundError的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我想用以下方式构建我的Maven项目

So I would like to build my maven project with

mvn清洁程序包

mvn clean package

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

But once I try to run my built jar file in target folder like

java -jar app-1.0-SNAPSHOT.jar

java -jar app-1.0-SNAPSHOT.jar

显示错误:

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

Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.NoClassDefFoundError: net/sourceforge/jdatepicker/DateModel at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) at java.lang.Class.privateGetMethodRecursive(Class.java:3048) at java.lang.Class.getMethod0(Class.java:3018) at java.lang.Class.getMethod(Class.java:1784) at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526) Caused by: java.lang.ClassNotFoundException: net.sourceforge.jdatepicker.DateModel 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) ... 7 more

Pom DataPicker依赖项:

Pom DataPicker dependency:

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

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

Why even though dependency was added, exception occurs?

推荐答案

尝试删除并重新下载本地Maven存储库中的jar.

try delete and redownload the jar in your local maven repo.

如果您使用的是想法,请尝试在Maven设置中更新本地存储库.

If your are using idea, try update local repo in the maven setting.

这篇关于即使将依赖项添加到pom.xml,也会发生NoClassDefFoundError的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆