maven打包时包含所有依赖的jar

maven打包生成普通jar时,只会包含工程下源码编译结果,不包含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同级目录下打开命令行执行如下命令:
    mvn assembly:assembly
    执行成功后会在target文件夹下多出一个以-jar-with-dependencies.jar结尾的jar包,这个jar包就包含了项目依赖的所有jar的class文件。

如果不希望依赖的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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,908评论 18 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,948评论 6 342
  • 1.编写POM Maven项目的核心文件是pom.xml,POM(Project Objcet Model)项目对...
    zlcook阅读 5,937评论 7 26
  • 使用指导 如何添加外部依赖jar包 在Maven工程中添加依赖jar包,很简单,只要在POM文件中引入对应的<de...
    静默虚空阅读 2,821评论 0 13
  • 前言什么是 POMQuick Overview POM 常用元素 pom.xml 完整注释 参考 0 前言 什么是...
    阿父阅读 12,655评论 1 36