maven常用构建命令

mvn clean install -U -Dmaven.test.skip=true

 

mvn install:install-file -Dfile=D:\ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.1.0 -Dpackaging=jar -DgeneratePom=true
mvn deploy:deploy-file -Dfile=D:\ojdbc6.jar -DgroupId=com.caac -DartifactId=ojdbc6 -Dversion=1.0.0 -DrepositoryId=maven-cst -Durl=http://xxx -Dmaven.test.skip=true

 

mvn clean package -Dmaven.test.skip=true

mvn clean install -Dmaven.test.skip=true

mvn clean install -pl xxx-service-eureka-server -am

单独构建模块xxx-service-eureka-server,同时会构建xxx-service-eureka-server模块依赖的其他模块

mvn install -pl neon-service-eureka-server -am

单独构建模块xxx-service-eureka-server,同时构建依赖模块xxx-service-eureka-server的其他模块 

mvn install -pl xxx-service-eureka-server -am -amd

Maven单独构建多模块项目中的单个模块

说明:

1、可能存在的场景,多模块项目没有互相引用,那么此时可以单独构建单个项目,指定到子模块的pom.xml文件即可完成编译。

2、如果多模块项目各自都引用了,那么单独编译子模块的pom.xml文件会直接报错,解决方法就是编译父项目pom.xml。

3、如果编译父项目,那么可能会造成编译时间很慢,其中有些项目也不需要编译,解决方法如下

Maven选项:

-pl, --projects         Build specified reactor projects instead of all projects -am, --also-make         If project list is specified, also build projects required by the list -amd, --also-make-dependents         If project list is specified, also build projects that depend on projects on the list

目前Jenkins构建的方案;

  1. 方案一: 创建一个jenkins任务,通过git或者手工触发构建,编译构建所有的模块项目,触发远程部署,并通过jenkins构建后操作进行本地以及远程服务器备份。

             优点: 减少了Jenkins搭建的操作

              缺点:构建过程较长一般在十分钟左右,影响上线效率

  1. 方案二:依据模块的功能分类,创建多个Jenkins任务,采用构建单独模块的maven命令进行单模块构建。并分别进行远程部署以及备份操作。

              优点:项目任务结构明了;备份恢复容易操作不需要改动现有spring cloud 项目结构;项目     构建部署较为迅速,单模块部署,线上服务影响时间在30秒之内。

               缺点:jenkins搭建耗时较长,如果项目模块启动有先后顺序需要手动控制

  1. 修改了一个没有任何相互依赖的项目模块,进行构建发布(mvn clean package -Dmaven.test.skip=true)
  2. 修改某个功能模块,同时会构建该模块依赖的其他模块(mvn install -pl xxx-service-eureka-server-am)
  3. 修改项目某个底层或者公共模块,所有项目模块都需要版本更迭。选择自动或者手动触发构建,择时进行线上部署。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值