【Maven学习】Maven打包生成包含所有依赖的jar包
2017-01-06 10:13
288 查看
maven打包生成的普通jar包,只包含该工程下源码编译结果,不包含依赖内容。同时,maven提供以下方式生成包含所有依赖的jar文件,依赖以class的方式存在;
将此plugin添加到pom文件中
如果出现CLASS重名的情况,这时候就要把最新的版本号添加进去即可,
2.在当前项目下执行mvn assembly:assembly, 执行成功后会在target文件夹下多出一个以-jar-with-dependencies结尾的JAR包. 这个JAR包就包含了项目所依赖的所有JAR的CLASS.
3.如果不希望依赖的JAR包变成CLASS的话,可以修改ASSEMBLY插件.
找到assembly在本地的地址,一般是
c:/users/${your_login_name}/.m2/\org\apache\maven\plugins\maven-assembly-plugin\2.4
用WINZIP或解压工具打开此目录下的maven-assembly-plugin-2.4.jar, 找到assemblies\jar-with-dependencies.xml
把里面的UNPACK改成FALSE即可
将此plugin添加到pom文件中
<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>
如果出现CLASS重名的情况,这时候就要把最新的版本号添加进去即可,
2.在当前项目下执行mvn assembly:assembly, 执行成功后会在target文件夹下多出一个以-jar-with-dependencies结尾的JAR包. 这个JAR包就包含了项目所依赖的所有JAR的CLASS.
3.如果不希望依赖的JAR包变成CLASS的话,可以修改ASSEMBLY插件.
找到assembly在本地的地址,一般是
c:/users/${your_login_name}/.m2/\org\apache\maven\plugins\maven-assembly-plugin\2.4
用WINZIP或解压工具打开此目录下的maven-assembly-plugin-2.4.jar, 找到assemblies\jar-with-dependencies.xml
把里面的UNPACK改成FALSE即可
相关文章推荐
- 【Maven学习】Maven打包生成普通jar包、可运行jar包、包含所有依赖的jar包
- 【Maven学习】Maven打包生成包含所有依赖的jar包
- 【Maven学习】Maven打包生成包含所有依赖的jar包
- 【Maven学习】Maven打包生成包含所有依赖的jar包
- 【Maven学习】Maven打包生成普通jar包、可运行jar包、包含所有依赖的jar包
- Maven打包生成包含所有依赖的jar包
- Maven打包生成包含所有依赖的jar包
- Maven打包生成包含所有依赖的jar包
- 利用maven-shade-plugin打包包含所有依赖jar包
- Maven打包可执行的jar文件(包含所有依赖和不存在spring无法解析schema)
- Maven自动生成可运行jar包并将依赖的jar包一起打包
- maven打包可运行的jar包(包含依赖工程)
- 根据已有项目下lib包里jar文件生成maven的pom.xml 里面所有依赖
- maven打包一个包含依赖jar包的可执行jar
- idea生成maven项目的包含依赖jar包的可执行jar文件
- 打jar时包含所有依赖(maven-assembly-plugin)
- Maven打包可执行jar,包含依赖jar包
- 使用Gradle生成包含所有依赖库(.jar或.aar)的aar包
- maven学习系列7----将依赖依赖文件打包到jar中
- android studio gradle打包,怎么样通过打不同的包名所依赖的项目不同,即所生成的apk大小不一样呢(每个apk不包含所有的依赖的项目)