执行jar包,运行时出错,缺了依赖包

来源:互联网 发布:算法的时间复杂度分析 编辑:程序博客网 时间:2024/04/28 22:38

错误:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Logger

不会用maven,试着打了一个包,运行后说缺了log4j包,百思不得其解。我以为执行mvn package命令后依赖的包会自动添加进去,原来不会,还需要在pom.xml里面配置插件,方法之一是在pom.xml里面加入下面这段后再打包就会缺依赖包加进去,程序就正常了:

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<!-- get all project dependencies -->
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<!-- MainClass in mainfest make a executable jar -->
<archive>
<manifest>
<mainClass>gta.LogTest.App</mainClass>
</manifest>
</archive>


</configuration>
<executions>
<execution>
<id>make-assembly</id>
<!-- bind to the packaging phase -->
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

参考的网址:http://www.cnblogs.com/xinsheng/p/4109573.html

为什么报这个错的时候网上没有哪个地方说pom.xml没有配置好,害我费了n久的时间,还是这个问题太简单?

0 0