maven是目前很常用的管理jar的工具,使用maven可以直接将java项目打包成一个可运行的jar,但是有时候有些依赖的jar没有包含在里面,这时候就需要早pom文件中build里面添加下面的配置

<plugins><plugin><artifactId>maven-assembly-plugin</artifactId><configuration><archive><manifest><!--这里要替换成jar包main方法所在类 --><mainClass>xx.tt.mainClass</mainClass></manifest><manifestEntries><Class-Path>.</Class-Path></manifestEntries></archive><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs></configuration><executions><execution><id>make-assembly</id> <!-- this is used for inheritance merges --><phase>package</phase> <!-- 指定在打包节点执行jar包合并操作 --><goals><goal>single</goal></goals></execution></executions></plugin>
</plugins>

还有一种是jar放到相对路径下

 <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId><executions><execution><id>copy-dependencies</id><phase>package</phase><goals><goal>copy-dependencies</goal></goals><configuration><outputDirectory>${project.build.directory}/lib</outputDirectory><overWriteReleases>false</overWriteReleases><overWriteSnapshots>false</overWriteSnapshots><overWriteIfNewer>true</overWriteIfNewer></configuration></execution></executions></plugin><plugin><artifactId>maven-assembly-plugin</artifactId><configuration><archive><manifest><mainClass>xx.tt.mainClass</mainClass></manifest><manifestEntries><Class-Path>.</Class-Path></manifestEntries></archive><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs></configuration><executions><execution><id>make-assembly</id><phase>package</phase><goals><goal>single</goal></goals></execution></executions></plugin></plugins></build>

配置完成后,如果使用的是IDE工具,右键项目选择run as,选择maven install。

如果是maven直接打包mvn clean install

下面简单给出这个命令执行的过程

 执行顺序:

1、使用清理插件:maven-clean-plugin:2.5执行清理删除已有target目录(版本2.5);

2、使用资源插件:maven-resources-plugin:2.6执行资源文件的处理(版本2.6);

3、使用编译插件:maven-compiler-plugin:3.1编译所有源文件生成class文件至target\classes目录下(版本3.1);

4、使用资源插件:maven-resources-plugin:2.6执行测试资源文件的处理(版本2.6);

5、使用编译插件:maven-compiler-plugin:3.1编译测试目录下的所有源代码(版本3.1);

6、使用插件:maven-surefire-plugin:2.12运行测试用例(版本2.12);

7、使用插件:maven-jar-plugin:2.4对编译后生成的文件进行打包,包名称默认为:artifactId-version,比如本例生成的jar文件:rtp-front-1.0-SNAPSHOT,包文件保存在target目录下;

8、使用maven-install-plugin:2.4把上述打包生成的jar包和pom文件安装到本地的仓库中(一般默认的路径为:%HOMEPATH%\.m2\repository\pom中groupId按.分隔的目录层次\pom中的artifactId\pom中的version\jar包的名称)。

maven打包将依赖jar也打包的方法相关推荐

  1. [置顶]使用 maven 插件 maven-shade-plugin 对可执行 java 工程及其全部依赖 jar 进行打包...

    作者:chenzhou123520 出处:http://chenzhou123520.iteye.com/blog/1706242 使用 maven 插件 maven-shade-plugin 对 j ...

  2. Spring Boot 打包分离依赖 JAR 和配置文件

    Spring Boot 打包分离依赖 JAR 和配置文件 2018年07月11日 15:17:09 <span class="read-count">阅读数 6145& ...

  3. maven 打包指定依赖包_Maven打包成Jar文件时依赖包的问题

    我们项目中使用到第三方的库文件,这些jar库文件并没有放到Maven中央库上,导致我们需要在项目中自己配置使用.我们的两三个开发人员对Java都是很熟,因此在使用中遇到了一些问题,表现在:在本地中引入 ...

  4. maven 打包把依赖jar打进去

    <build><!-- jar名称 --><finalName>netty_client</finalName><!-- 使用shade打包 可以 ...

  5. maven 打包指定依赖包_maven打包为jar-with-dependencies无依赖jar包方法

    maven打包为单独的jar,该jar包已包含所有依赖jar包,方法如下: 有两种方法:maven-assembly-plugin和maven-shade-plugin(推荐) 第一种对spring的 ...

  6. maven 打包指定依赖包_maven打包加入依赖包以及加入本地依赖包的方法

    Maven引入本地Jar包并打包进War包中 1.概述 在平时的开发中,有一些Jar包因为种种原因,在Maven的中央仓库中没有收录,所以就要使用本地引入的方式加入进来. 2. 拷贝至项目根目录 项目 ...

  7. 解决Maven打包没有依赖jar包问题

    分享知识 传递快乐 问题描述: 在使用 `maven package` 打包后生成的 `xxx.jar` 文件只有几兆,只是当前项目被编译成 class 文件,而没有项目依赖的 jar. 解决办法: ...

  8. maven连同所有依赖包一起打包成jar包

    一.依赖项的处理 java application运行时需要查找依赖的第三方jar,如果查找classpath失败,就会报错,可以先用 mvn dependency:copy-dependencies ...

  9. boot lib分离 spring_SpringBoot打包分离依赖jar和资源文件

    网上找了很多 maven-dependency-plugin 在我的电脑试了很多次都无法把依赖的jar独立下载到target/lib目录 暂时使用下面折中的方法 (缺点是每次修改依赖可能都需要重新执行 ...

最新文章

  1. spring bean scope作用域及多线程安全问题场景分析
  2. BeX5报表开发中Excel格式修改的一个小问题
  3. Duplicate property mapping of xxx found in xx 嵌套异常,重复的属性在映射中发现。
  4. java动态创建bean的意义_java相关:Spring Boot如何动态创建Bean示例代码
  5. 用计算机计算的手抄报内容,关于数学计算手抄报
  6. Spark-自定义累加器-进行字符串拼接(代码及详细实现步骤)
  7. Android UI布局—— 仿QQ登录界面
  8. Iphone开发-NSdata 与 NSString,Byte数组,UIImage 的相互转换
  9. 练习1.account表 添加一条记录
  10. Fiddler安装教程(图文版)
  11. 使用Python控制手机
  12. 如何区别文本是BIG5还是GB?
  13. 360腾讯计算机比赛,巅峰对决 腾讯电脑管家VS360详尽评测
  14. 关于每次请求都要执行两个,即经过重写FilterInvocationSecurityMetadataSource的getAttributes()方法
  15. RuntimeError: The size of tensor a (4) must match the size of tensor b (3)
  16. 亲子关系-《抗压力·亲子篇》书中的精髓:理解何为抗压力,让孩子从小学会如何面对挫折,培养抗压力。
  17. java五个数以升序排列,java4个数的数组排列
  18. 认识计算机系统学反思,《认识计算机》教学反思
  19. c++总结(updating)
  20. 使用CSS实现文字的两端对齐方式

热门文章

  1. Spark-RDD实战影评数据分析一
  2. 计算机信息技术与幼儿教育论文,信息技术应用于幼儿教育论文
  3. Java每日一题——>19. 删除链表的倒数第 N 个结点
  4. squad战术小队steam服务器搭建教程。
  5. ggplot2的自定义调色板
  6. zip压缩到指定目录
  7. Gmail、Orkut和Wallop的不限量,不限时邀请
  8. 2015年职称计算机考试宝典,2015年职称计算机考试宝典.doc
  9. 一个人能够哲学思考的条件
  10. %#o,%#x什么意思