NoClassDefFoundError和之间有什么区别ClassNotFoundException?
是什么导致他们被抛出?他们怎么解决?
在修改现有代码以包含新的jar文件时,我经常遇到这些throwable.对于通过webstart分发的Java应用程序,我在客户端和服务器端都点击了它们.
我遇到的可能原因:
build.xml代码的客户端不包含的包当我今天遇到这些时,我采取了一种线索和错误的方法来使事情发挥作用.我需要更清晰和理解.
我在我的java应用程序中使用log4j 2.3.我通过maven添加了依赖项.
在eclipse中运行程序时一切正常,但是当我用maven打包并尝试运行jar时,我得到以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache logging/log4j/LogManager
at main.myclass.<clinit>(myclass.java:11)
Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.LogManager
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)
... 1 more
Run Code Online (Sandbox Code Playgroud)
为什么从jar运行它时无法找到类?
添加log4j 1.2也不起作用.该程序在eclipse中正常运行,因此不应缺少依赖项.