- 子模塊的<parent>的<version>節點信息必須是明確的,所以需要和父節點保持相同(目前還沒發現一改全改的方法)
- 子模塊相互依賴采用<version>${project.parent.version}</version>使得依賴的版本能夠同時更新
- 上傳到倉庫之前先在父節點下執行全局更新版本:versions:set -DnewVersion=1.1.0-RELEASE,mvn versions:commit可以刪除backup文件或者按照下方方法去掉備份掉備份
- 然后再在父節點下執行clean source:jar deploy
- 不需要上傳的子模塊需要在子模塊的pom中加入
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <configuration> <generateBackupPoms>false</generateBackupPoms> </configuration> </plugin>
另外一種取巧的方式:maven 3.5.0-beta-1版本之后為了增強CI功能,內置了3個屬性,分別是`${revision}`, `${sha1}` , `${changelist}`,這樣子在子模塊中使用這幾個占位符就不會報錯,如下圖:
那么我們就可以在父pom的properties中定義上面3個中的某個作為版本號管理(當然了,這3個占位符本意不是用來管理版本號的),所以說這里有取巧的意思。
這里是maven官方說明:https://maven.apache.org/maven-ci-friendly.html
