改变maven打包路径_maven打包项目的几种方式

maven版本: 3.5.2

java版本:1.8

背景

最近项目是用maven构建,之前为了方便一直沿用eclipse导出功能导出可运行的jar包,现在改用maven打包遇到的一些问题总结。

maven打包的方式介绍

(1)打包普通(不可运行的包)jar包

这个比较简单,不需要特殊配置,只需要按照maven的命令来执行即可。

(2)打包可运行的jar包

打包可运行的jar包目前我用到的有以下两种方式:

包含所有依赖到目标jar包

所有依赖的jar包放在指定目录下

打包的步骤如下:

编写源码,代码需要有main入口

配置pom.xml,添加相关的打包配置

执行 maven package 打包命令

mvn clean package

如果需要跳过单元测试,则执行

mvn clean package -U -DskipTests

包含所有依赖到目标jar包

在pom.xml中的节点中添加一下插件,内容如下:

maven-assembly-plugin

false

jar-with-dependencies

com.xxx.uploadFile

make-assembly

package

assembly

所有依赖的jar包放在指定目录下

只分离lib文件的方式的插件配置:

org.apache.maven.plugins

maven-jar-plugin

true

lib/

com.samples.App

org.apache.maven.plugins

maven-dependency-plugin

copy

package

copy-dependencies

${project.build.directory}/lib

指定编译jdk版本和将资源文件和lib文件归类分离的方式下插件配置:

org.apache.maven.plugins

maven-compiler-plugin

2.3.2

1.8

1.8

UTF-8

${java.home}/lib/rt.jar

org.apache.maven.plugins

maven-dependency-plugin

${project.build.directory}/lib

false

false

copy-dependencies

package

copy-dependencies

org.apache.maven.plugins

maven-resources-plugin

2.6

copy-resources

package

copy-resources

UTF-8

${project.build.directory}/resources

src/main/resources/

true

Dockerfile

copy-command

package

copy-resources

UTF-8

${project.build.directory}

src/main/resources/

true

Dockerfile

org.apache.maven.plugins

maven-jar-plugin

2.4

true

lib/

false

com.samples.App

resources/

**/*.class

注意:其中的资源文件和lib文件夹可以自由指定

参考

本文由 xinghua 创作,采用 知识共享署名4.0

国际许可协议进行许可

本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名

最后编辑时间为: 一月 12,2021

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值