众所周知,在Maven本身的打包插件不负责将依赖的jar包一并打入到jar包中。如果项目所依赖的jar包在服务器环境中提供了还好,如果服务器环境中没有提供,则比较悲惨,运行各种ClassNotFound….你们懂的!
解决办法就是添加maven-assembly-plugin 这个插件,具体操作如下
<build><plugins><plugin><artifactId>maven-assembly-plugin</artifactId><configuration><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs><archive><manifest><!-- 指定主类 --><mainClass>xxx.xxx.XXX</mainClass></manifest></archive></configuration><executions><execution><id>make-assembly</id><phase>package</phase><goals><goal>single</goal></goals></execution></executions></plugin></plugins></build>
在maven的pom文件中 增加 maven-assembly-plugin 插件后一直报红, 尝试过从maven仓库中删除后重新 安装无果
解决方法为,在依赖中添加
<dependency><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><version>3.0.0</version></dependency>
问题解决!