Maven多层级架构打包

分享知识 传递快乐

环境:

  • Java
  • IDEA
  • Maven 多层级架构
  • Jenkins

描述:

由于架构是 Maven 多层级架构,采用 Jenkins 打包发布的方式对服务部署,与传统的单层架构不同。传统的单层架构直接在 pom.xml 文件层通过 mvn 命令就可以实现对服务打包部署。在多层架构中如果在外层打包每次都要对所有服务打包,这样的方式虽然简单但打包和部署非常耗时;如果在用户接口层或web层打包,pom.xml 中引入的本地模块则不能打包到用户接口层或web层中,从而导致打包失败或启动时缺包等问题。为了节省打包时间,又要提升打包成功的机率,需要在父级 pom.xml 文件层对需要打包的模块进行打包,具体打包方式参考一下内容。

多模块工程的打包命令参考:

-am --also-make 构建所列模块的所有依赖模块;
-amd -also-make-dependents 构建依赖于所列模块的模块;
-pl --projects <arg> 构建制定的模块,模块间用逗号分隔;
-rf -resume-from <arg> 从指定的模块恢复反应堆。

指定 settings.xml 打包

mvn clean package --settings C:\Users\Admini\.m2\settings.xml

如果需要根据指定的 settings.xml 文件打包模块依赖在 --settings 后面跟上 maven settings.xml 文件地址就可以。

指定模块打包

mvn clean package -pl demo-web -am --settings C:\Users\Admini\.m2\settings.xml

打包指定模块,如果是多模块用逗号分割。

多层级模块打包

mvn clean package -pl business-center\demo-business\demo-web -am --settings C:\Users\Admini\.m2\settings.xml

多层级模块打包需要在最顶层的 pom.xml 文件中执行 mvn package <需要打包的模块路径> 命令,就可以解决不能打包父级或引用自定义的 jar 。

多层模块与单层模块打包区别:

多层模块可能会涉及多层依赖关系,如果打包可能会找不到父级引用;单层模块则不会出现此问题。

多层级多模块打包自动构建依赖关系

mvn clean package -pl business-center\demo-business\demo-web -am --also-make --settings C:\Users\Admini\.m2\settings.xml

指定模块打包并自动构建依赖关系的参数是 -am --also-make 参数,此参数是构建所列模块的所有依赖模块。

—————————
如有不足请留言指正
相互学习,共同进步

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
Maven是一个非常常用的构建工具,在使用它构建多模块工程时,可以减少一些重复的工作,提高工程构建的效率。多模块工程即将一个大型工程分成多个模块,每个模块有自己的代码、配置文件和构建规则,模块可以独立构建,也可以重新组合成一个整体再进行构建。有了Maven这个工具,我们可以更加轻松地进行工程构建及部署。下面是Maven多模块工程打包部署的一些要点: 1. 父工程:每个模块将会有一个父工程。父工程管理和统一构建所有子模块,同时父工程中也包含了一些工具依赖,如插件和配置等。 2. 子模块:每个子模块可以单独构建成一个独立的jar、war或者其他类型的文件,但是它们都是在父工程中定义的。每个子模块应该有独立的代码库,独立的测试用例和独立的依赖库。 3. 依赖管理:每个模块都有自己的依赖库,同时父工程也可以统一管理所有子模块的依赖。 4. 打包部署:对于一个多模块工程,最终会有一个多个模块组成的大型部署包。我们需要定义如何将每个子模块的打包文件合并到最终的大包中。 总的来说,Maven提供了丰富的构建工具和支持,使得多模块工程打包部署变得更加简单和高效。在实际应用中,我们可以利用Maven的依赖管理,提高组件的复用率,也可以利用多模块工程的优势,让我们的代码更加清晰易懂,更容易维护和管理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旷野历程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值