maven打包将依赖jar也打包的方法
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也打包的方法相关推荐
- [置顶]使用 maven 插件 maven-shade-plugin 对可执行 java 工程及其全部依赖 jar 进行打包...
作者:chenzhou123520 出处:http://chenzhou123520.iteye.com/blog/1706242 使用 maven 插件 maven-shade-plugin 对 j ...
- Spring Boot 打包分离依赖 JAR 和配置文件
Spring Boot 打包分离依赖 JAR 和配置文件 2018年07月11日 15:17:09 <span class="read-count">阅读数 6145& ...
- maven 打包指定依赖包_Maven打包成Jar文件时依赖包的问题
我们项目中使用到第三方的库文件,这些jar库文件并没有放到Maven中央库上,导致我们需要在项目中自己配置使用.我们的两三个开发人员对Java都是很熟,因此在使用中遇到了一些问题,表现在:在本地中引入 ...
- maven 打包把依赖jar打进去
<build><!-- jar名称 --><finalName>netty_client</finalName><!-- 使用shade打包 可以 ...
- maven 打包指定依赖包_maven打包为jar-with-dependencies无依赖jar包方法
maven打包为单独的jar,该jar包已包含所有依赖jar包,方法如下: 有两种方法:maven-assembly-plugin和maven-shade-plugin(推荐) 第一种对spring的 ...
- maven 打包指定依赖包_maven打包加入依赖包以及加入本地依赖包的方法
Maven引入本地Jar包并打包进War包中 1.概述 在平时的开发中,有一些Jar包因为种种原因,在Maven的中央仓库中没有收录,所以就要使用本地引入的方式加入进来. 2. 拷贝至项目根目录 项目 ...
- 解决Maven打包没有依赖jar包问题
分享知识 传递快乐 问题描述: 在使用 `maven package` 打包后生成的 `xxx.jar` 文件只有几兆,只是当前项目被编译成 class 文件,而没有项目依赖的 jar. 解决办法: ...
- maven连同所有依赖包一起打包成jar包
一.依赖项的处理 java application运行时需要查找依赖的第三方jar,如果查找classpath失败,就会报错,可以先用 mvn dependency:copy-dependencies ...
- boot lib分离 spring_SpringBoot打包分离依赖jar和资源文件
网上找了很多 maven-dependency-plugin 在我的电脑试了很多次都无法把依赖的jar独立下载到target/lib目录 暂时使用下面折中的方法 (缺点是每次修改依赖可能都需要重新执行 ...
最新文章
- spring bean scope作用域及多线程安全问题场景分析
- BeX5报表开发中Excel格式修改的一个小问题
- Duplicate property mapping of xxx found in xx 嵌套异常,重复的属性在映射中发现。
- java动态创建bean的意义_java相关:Spring Boot如何动态创建Bean示例代码
- 用计算机计算的手抄报内容,关于数学计算手抄报
- Spark-自定义累加器-进行字符串拼接(代码及详细实现步骤)
- Android UI布局—— 仿QQ登录界面
- Iphone开发-NSdata 与 NSString,Byte数组,UIImage 的相互转换
- 练习1.account表 添加一条记录
- Fiddler安装教程(图文版)
- 使用Python控制手机
- 如何区别文本是BIG5还是GB?
- 360腾讯计算机比赛,巅峰对决 腾讯电脑管家VS360详尽评测
- 关于每次请求都要执行两个,即经过重写FilterInvocationSecurityMetadataSource的getAttributes()方法
- RuntimeError: The size of tensor a (4) must match the size of tensor b (3)
- 亲子关系-《抗压力·亲子篇》书中的精髓:理解何为抗压力,让孩子从小学会如何面对挫折,培养抗压力。
- java五个数以升序排列,java4个数的数组排列
- 认识计算机系统学反思,《认识计算机》教学反思
- c++总结(updating)
- 使用CSS实现文字的两端对齐方式