maven打包生成普通jar时(方法maven>lifecycle>package),只会包含工程下源码编译结果,不包含pom.xml里依赖的jar,如需加入项目依赖的jar文件,可使用maven-assembly-plugin插件,使用方式如下:
- 在pom.xml中添加maven-assembly-plugin插件
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<!--这部分可有可无,加上的话则直接生成可运行jar包-->
<!--<archive>-->
<!--<manifest>-->
<!--<mainClass>${exec.mainClass}</mainClass>-->
<!--</manifest>-->
<!--</archive>-->
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
- 在pom.xml同级目录下打开命令行执行如下命令/或者双击maven>Plugins>assembly>assembly:assembly(我选择的方式)
mvn assembly:assembly
执行成功后会在target文件夹下多出一个以-jar-with-dependencies.jar结尾的jar包,这个jar包就包含了项目依赖的所有jar的class文件。
- 如果不希望依赖的JAR包变成CLASS的话,可以修改ASSEMBLY插件.
找到assembly在本地的地址,一般是{本地仓库}\org\apache\maven\plugins\maven-assembly-plugin\2.4
用WINZIP或解压工具打开此目录下的maven-assembly-plugin-2.4.jar, 找到assemblies\jar-with-dependencies.xml
把里面的UNPACK改成FALSE
链接:https://www.jianshu.com/p/f5c23e7205a7/