【发布时间】:2018-11-08 06:16:11
【问题描述】:
我在 IntelliJ IDEA 中使用Maven 生成了一个jar 文件。尝试执行时收到以下错误消息:
线程“主”java.lang.NoClassDefFoundError 中的异常: org/apache/log4j/Logger
我只使用了一个log4j 版本,1.2.17 和 java 版本 1.8.0_171。我也在 pom.xml 中设置了跳过测试:<maven.test.skip>true</maven.test.skip>
直接从IDE执行成功。我使用 Maven Surefire 插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
【问题讨论】:
-
你在执行你的 jar 时,是否在类路径中添加了依赖关系的 jar?
-
您是否尝试从命令行执行您的 Java 程序?你能添加你调用的命令吗?
-
@Daniele : 当我尝试使用
java -jar <myjar>执行时出现以下错误:没有主清单属性 -
您可以使用以下@streetturtle 的建议来解决“无主清单属性”问题。 (清单将被添加到
mvn package生成的jar中)。
标签: java maven intellij-idea jar