Maven打包生成包含所有依赖的jar包

来源:互联网 发布:python 并行编程 编辑:程序博客网 时间:2024/05/18 01:24

Maven打包生成包含所有依赖的jar包


maven打包生成的普通jar包,只包含该工程下源码编译结果,不包含依赖内容。
同时,maven提供以下方式生成包含所有依赖的jar文件,依赖以class的方式存在;


解决方案

在pom.xml文件中添加插件:

<plugin>    <artifactId>maven-assembly-plugin</artifactId>    <configuration>        <descriptorRefs>            <descriptorRef>jar-with-dependencies</descriptorRef>        </descriptorRefs>    </configuration></plugin>
  • 如果出现CLASS重名的情况,这时候就要把最新的版本号添加进去即可.
  • 在当前项目下执行mvn assembly:assembly, 执行成功后会在target文件夹下多出一个以-jar-with-dependencies结尾的JAR包. 这个JAR包就包含了项目所依赖的所有JAR的CLASS.
  • 如果不希望依赖的JAR包变成CLASS的话,可以修改ASSEMBLY插件.
    1. 找到assembly在本地的地址,一般是
      c:/users/${your_login_name}/.m2/\org\apache\maven\plugins\maven-assembly-plugin\2.4.
    2. 用WINZIP或解压工具打开此目录下的maven-assembly-plugin-2.4.jar, 找到assemblies\jar-with-dependencies.xml.
    3. 把里面的UNPACK改成FALSE即可.
阅读全文
0 0
原创粉丝点击