maven2-snapshot快照库和release发布库的应用
在項目中應用snapshot和release庫,應用snapshot和release庫達到不同環境下發布不同的版本的目的,首先看一個pom文件的定義:
<project><modelVersion>4.0.0</modelVersion><groupId>cc.mzone</groupId><artifactId>myjar</artifactId><version>${project.release.version}</version><packaging>jar</packaging><distributionManagement><repository><id>mzone-release</id><url>http://192.168.1.88/nexus/content/repositories/mzone-release</url></repository><snapshotRepository><id>mzone-snapshot</id><url>http://192.168.1.88/nexus/content/repositories/mzone-snapshot</url></snapshotRepository></distributionManagement><properties><project.release.version>0.1-SNAPSHOT</project.release.version></properties><profiles><profile><id>product</id><properties><project.release.version>0.1</project.release.version></properties></profile></profiles> </project>? ? ? 首先我們看到pom文件中version的定義是采用占位符的形式,這樣的好處是可以根據不同的profile來替換版本信息,比如maven默認是使用0.1-SNAPSHOT作為該模塊的版本。
1、如果在發布時使用mvn deploy -P product的命令,那么會自動使用0.1作為發布版本,那么根據maven處理snapshot和release的規則,由于版本號后不帶-SNAPSHOT故當成是正式發布版本,會被發布到release倉庫;
2、如果發布時使用mvn deploy命令,那么就會使用默認的版本號0.1-SNAPSHOT,此時maven會認為是快照版本,會自動發布到快照版本庫。
?? ? ?在distributionManagement段中配置的是snapshot快照庫和release發布庫的地址,我這里是采用nexus作為鏡像服務器。對于版本庫主要是id和url的配置,配置完成后就可以通過mvn deploy進行發布了,當然了,如果你的鏡像服務器需要用戶名和密碼,那么還需要在maven的settings.xml文件中做如下配置:
<servers><server><id>mzone-release</id><username>deployment</username><password>deployment</password></server><server><id>mzone-snapshot</id><username>deployment</username><password>deployment</password></server> </servers>? ?注意這里配置的server的id必須和pom文件中的distributionManagement對應倉庫的id保持一致,maven在處理發布時會根據id查找用戶名稱和密碼進行登錄和文件的上傳發布。
?? ? ?我們這里通過profile的定義就可以在發布靈活切換snapshot快照版本和release正式版本了,在被依賴的組件中也可以使用profile來定義在開發階段使用快照庫,在發布階段使用正式庫的功能,只需要在不同的profile中覆蓋默認的properties屬性值即可。
?
轉載于:https://www.cnblogs.com/hwaggLee/p/4579464.html
總結
以上是生活随笔為你收集整理的maven2-snapshot快照库和release发布库的应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 转载:成功应用ERP的思路和方法分析
- 下一篇: Photoshop的批处理(有海量的数码