<返回更多

Maven多层级架构打包

2021-06-29  CSDN  旷野历程
加入收藏

环境:

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:UsersAdmini.m2settings.xml
如果需要根据指定的 settings.xml 文件打包模块依赖在 --settings 后面跟上 maven settings.xml 文件地址就可以。

 

指定模块打包

mvn clean package -pl demo-web -am --settings C:UsersAdmini.m2settings.xml

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

 

多层级模块打包

mvn clean package -pl business-centerdemo-businessdemo-web -am --settings C:UsersAdmini.m2settings.xml

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

 

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

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

 

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

mvn clean package -pl business-centerdemo-businessdemo-web -am --also-make --settings C:UsersAdmini.m2settings.xml

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

 

本文为CSDN博主「旷野历程」的原创文章

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>