gpt4 book ai didi

java - 线程 "main"java.lang.NoClassDefFoundError : org/apache/log4j/Logger in generated jar file 中出现异常

转载 作者:行者123 更新时间:2023-11-30 06:09:28 27 4
gpt4 key购买 nike

我生成了一个jar文件 Maven在 IntelliJ IDEA 中。当尝试执行它时,我收到以下错误消息:

Exception in thread "main" 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>

最佳答案

当您从IDEA运行它时,IDEA包含依赖项,您可以在IDEA的运行工具窗口中检查命令。但是,当您生成 jar 并运行它时,其中不包含任何依赖项。为了使它工作,你必须告诉 Maven 包含它们,方法之一是使用 Apache Maven Assembly Plugin通过将 build 部分添加到您的 pom.xml 中:

<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>package.MainClass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>

关于java - 线程 "main"java.lang.NoClassDefFoundError : org/apache/log4j/Logger in generated jar file 中出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50586934/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com