-
发布本地jar到私服 命令
mvn deploy:deploy-file -Dmaven.test.skip=true -Dfile=D:DownloadsOJDBC-Fullojdbc6.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.groupId}:${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 发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。