我在我的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
当从一个JAR文件运行程序时,为什么找不到该类?
添加log4j 1.2
也没有起作用。该程序在Eclipse中运行良好,因此不应该缺少依赖项。
mvn dependency:tree
命令?我没有安装用于命令行的Maven,只是在Eclipse中使用它。我已经在我的pom.xml文件中添加了log4j-core(2.3)和log4j-api(2.3)作为依赖项。我通过java -jar myApplication.jar
命令从命令行运行它。 - Pabi