MAVEN釋出固定版本(不需要更改pom更新依賴的方法)
接觸Maven有幾年時間了,不得不說,它是個好東西,一旦接觸之後就有種愛不釋手的感覺。
最近在開發中遇到一個疑問,開發階段的依賴中往往更改一小丁點東西都需要升級版本釋出,十分繁瑣。
對此查了很多資料,國內的資料十分有限,看來國內還很少有朋友遇到這個問題,大家應該都是使用升級版本更新依賴的方式。
上了官網查查資料,還真有解決方案。
首先要分清楚Snapshot和Release的區別
maven中的倉庫分為兩種,snapshot快照倉庫和release釋出倉庫。snapshot快照倉庫用於儲存開發過程中的不穩定版本,release正式倉庫則是用來儲存穩定的發行版本。定義一個元件/模組為快照版本,只需要在pom檔案中在該模組的版本號後加上-SNAPSHOT即可(注意這裡必須是大寫),
如
修改setting.xml的釋出部分如下設定
可以看到我在snapshot下面加了如下設定
看下maven官方對這個屬性做出的解釋,重點就是updatePolicy屬性
[img]http://dl2.iteye.com/upload/attachment/0097/1477/ec982d23-543e-3bd4-b50e-e66ba0957f0a.jpg[/img]
enabled設定為true
updatePolicy更新snapshot包的頻率,屬性有四個值always(實時更新) daily(每天更新) interval:xxx(隔xxx分鐘更新一次) never(從不更新) 預設為daily
checksumPolicy為warn
如果是使用eclipse開發,整合了maven外掛的,還需要做如下事情。
Window>Preferences>Maven>User Settings>Update Settings
完成以上操作可完成無需更改版本釋出,依賴方也不需要更改pom,只需執行一下mvn clean install 即可完成依賴更新
最近在開發中遇到一個疑問,開發階段的依賴中往往更改一小丁點東西都需要升級版本釋出,十分繁瑣。
對此查了很多資料,國內的資料十分有限,看來國內還很少有朋友遇到這個問題,大家應該都是使用升級版本更新依賴的方式。
上了官網查查資料,還真有解決方案。
首先要分清楚Snapshot和Release的區別
maven中的倉庫分為兩種,snapshot快照倉庫和release釋出倉庫。snapshot快照倉庫用於儲存開發過程中的不穩定版本,release正式倉庫則是用來儲存穩定的發行版本。定義一個元件/模組為快照版本,只需要在pom檔案中在該模組的版本號後加上-SNAPSHOT即可(注意這裡必須是大寫),
如
<groupId>org.quinn</groupId>
<artifactId>accounts</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
修改setting.xml的釋出部分如下設定
<profile>
<id>dev</id>
<repositories>
<repository>
<id>nexus</id>
<url>http://ip:8081/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<url>http://ip:8081/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
可以看到我在snapshot下面加了如下設定
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
看下maven官方對這個屬性做出的解釋,重點就是updatePolicy屬性
[img]http://dl2.iteye.com/upload/attachment/0097/1477/ec982d23-543e-3bd4-b50e-e66ba0957f0a.jpg[/img]
enabled設定為true
updatePolicy更新snapshot包的頻率,屬性有四個值always(實時更新) daily(每天更新) interval:xxx(隔xxx分鐘更新一次) never(從不更新) 預設為daily
checksumPolicy為warn
如果是使用eclipse開發,整合了maven外掛的,還需要做如下事情。
Window>Preferences>Maven>User Settings>Update Settings
完成以上操作可完成無需更改版本釋出,依賴方也不需要更改pom,只需執行一下mvn clean install 即可完成依賴更新
相關文章
- Maven依賴版本更新踩坑Maven
- Maven-Maven統一管理依賴的版本Maven
- Maven依賴版本號引發的血案Maven
- maven依賴jar包更新,業務jar需同步更新(業務jar依賴API)MavenJARAPI
- Maven (POM+約定+生命週期 + 依賴) 戰略分析Maven
- Maven依賴管理:控制依賴的傳遞Maven
- Maven Dependency Version:依賴版本自動升級Maven
- maven依賴衝突以及解決方法Maven
- 直播軟體原始碼,pom 依賴遇到 build 下的依賴報錯原始碼UI
- Maven依賴範圍及依賴傳遞Maven
- Maven依賴機制Maven
- Maven 依賴關係Maven
- Maven工程依賴配置Maven
- 普通maven專案將依賴包打包方法Maven
- Maven快速入門(五)Maven的依賴管理Maven
- 依賴型別語言Idris釋出1.0版本型別
- Maven依賴管理系統Maven
- deno 下載依賴包慢,沒有進度,透過更改映象加速的解決方法,不需要 npmNPM
- cargo 中的版本依賴Cargo
- Maven依賴中的scope詳解Maven
- Maven的頂級功能——依賴管理Maven
- maven中排除依賴傳遞可以在pom.xml檔案中使用exclusions標籤MavenXML
- maven基礎:依賴範圍Maven
- Maven依賴衝突處理Maven
- maven2+依賴傳遞Maven
- Maven最佳實踐:管理依賴Maven
- Spring Boot 基本配置之依賴管理starter pomSpring Boot
- maven的pom.xml用解決版本問題MavenXML
- 建立Maven專案出錯 pom出錯Maven
- maven中的傳遞依賴和傳遞依賴的解除Maven
- 為什麼在SpringBoot+maven的專案中,所引入的依賴包可以不指定依賴的版本號?Spring BootMaven
- Maven依賴scope範圍詳解Maven
- maven 將依賴包打入jar中MavenJAR
- Java依賴版本衝突Java
- maven 在pom檔案下配置預設的jdk版本MavenJDK
- 如何將python配置的依賴包以及版本匯出Python
- 解決eclipse的maven依賴報錯EclipseMaven
- npm如何管理依賴包的版本NPM