-
发布本地jar到私服 命令
mvn deploy:deploy-file -Dmaven.test.skip=true -Dfile=D:\Downloads\OJDBC-Full\ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.4 -Dpackaging=jar -DrepositoryId=releases -Durl=http://192.168.0.168:8081/repository/maven-releases/
-
持续集成服务器上的集成命令
打包jar
mvn clean install -B -e -U -Dmaven.repo.local=/home/juven/ci/foo-repo/
发布jar到私服
mvn clean deploy -B -e -U -Dmaven.repo.local=/home/juven/ci/foo-repo/
在持续集成服务器上使用怎样的 mvn 命令集成项目,这个问题乍一看答案很显然,不就是 mvn clean install 么?事实上比较好的集成命令会稍微复杂些,下面是一些总结:
- 不要忘了clean: clean能够保证上一次构建的输出不会影响到本次构建。
- 使用deploy而不是install: 构建的SNAPSHOT输出应当被自动部署到私有Maven仓库供他人使用,这一点在前面已经详细论述。
- 使用-U参数: 该参数能强制让Maven检查所有SNAPSHOT依赖更新,确保集成基于最新的状态,如果没有该参数,Maven默认以天为单位检查更新,而持续集成的频率应该比这高很多。
使用-e参数:如果构建出现异常,该参数能让Maven打印完整的stack trace,以方便分析错误原因。 - 使用-Dmaven.repo.local参数:如果持续集成服务器有很多任务,每个任务都会使用本地仓库,下载依赖至本地仓库,为了避免这种多线程使用本地仓库可能会引起的冲突,可以使用-Dmaven.repo.local=/home/juven/ci/foo-repo/这样的参数为每个任务分配本地仓库。
- 使用-B参数:该参数表示让Maven使用批处理模式构建项目,能够避免一些需要人工参与交互而造成的挂起状态。
- 使用-X参数:开启DEBUG模式。
-
pom-config 插件使用 (自定义的maven插件)
修改pom properties 里节点的版本号
mvn com.zy:pom-config:1.0.1:pom-config -Dparams="hiip-user-api.version=0.44.1-SNAPSHOT" -
修改全模块版本号
-
A 执行以下命令 mvn versions:set -DoldVersion=* -DnewVersion=1.0.1-SNAPSHOT -DprocessAllModules=true -DallowSnapshots=true 如果还有没有修改到的。执行下方的命令重试。 mvn versions:update-child-modules
-
B 执行编译打包的命令 mvn clean install -DskipTests
-
C 查看依赖树的版本是否修改成功 mvn dependency:tree -Dverboss -Dincludes={project.artifactId}
-
D 失败就回退 mvn versions:revert
-
E 成功则提交 mvn versions:commit
-
参数默认值说明
指令 值 说明 allowSnapshots false 是否更新-snapshot快照版 artifactId ${project.artifactId} 指定artifactId generateBackupPoms true 是否备份pom文件 groupId ${project.groupId} 指定groupId newVersion 设置的新版本号 nextSnapshot false 更新版本号为下一个快照版本号 oldVersion ${project.version} 指定需要更新的版本号可以使用缺省‘*’ processAllModules false 是否更新目录下所有模块无论是否声明父子节点 processDependencies true 是否更新依赖其的版本号 processParent true 是否更新父节点的版本号 processPlugins true 是否更新插件中的版本号 processProject true 是否更新模块自身的版本号 removeSnapshot false 移除snapshot快照版本,使之为release稳定版 updateMatchingVersions true 是否更新在子模块中显式指定的匹配版本(如/项目/版本)。
本文由博客一文多发平台 OpenWrite 发布!
网友评论