【发布时间】:2018-01-30 06:38:58
【问题描述】:
我在我的 java 项目中使用了 log4j 记录器,并且在我的 pom.xml 中有以下内容:
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
我在名为“resources”的目录中添加了log4j.properties,我已将其添加为 intelliJ 项目结构中的源。
当我构建项目时,它构建成功。但是当我尝试通过运行java -jar myproject.jar 来运行jar 文件时,会出现以下错误。
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Logger
at org.wso2.confvalidator.ConfigValidator.<clinit>(ConfigValidator.java:40)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more
【问题讨论】:
-
确保将 log4j jar(我猜还有一堆其他的 dep)添加到运行时类路径。 IE。 -cp java 选项
-
我认为您在类路径中有多个 log4j 实现。我之前遇到过类似的问题。所以请检查一下。
标签: java maven logging intellij-idea log4j