我想對(duì)某些依賴項(xiàng)的版本使用范圍。但我真的不明白應(yīng)該如何為我的案例定義它。這是查找結(jié)果 -maven-metadata-nexus.xml文件。<versioning> <latest>0.1.0-SNAPSHOT</latest> <versions> <version>0.0.13-SNAPSHOT</version> <version>0.0.14-SNAPSHOT</version> <version>0.0.15-SNAPSHOT</version> <version>0.0.16-SNAPSHOT</version> <version>0.0.17-SNAPSHOT</version> <version>0.1.0-SNAPSHOT</version> </versions> <lastUpdated>20190826092951</lastUpdated></versioning>我想導(dǎo)入最新的 0.1.x 依賴項(xiàng),所以我認(rèn)為以這種方式編寫范圍就可以了<dependency> <groupId>my.group.id</groupId> <artifactId>my-artifact</artifactId> <version>[0.1, 0.2)</version></dependency>然而,maven 說我的工件沒有可用的版本。定義范圍可以[0.1.0-SNAPSHOT, 0.2)解決問題,但我真的不明白為什么我需要如此具體的邊界,這是否是一個(gè)好的做法。定義此類范圍的正確方法是什么?
1 回答

慕桂英546537
TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊
Maven 對(duì)待 SNAPSHOT 版本的方式與“普通”版本不同。
“正?!保ㄔ诖鎯?chǔ)庫(kù)中發(fā)布)版本通常是不可變的。它無法更新或刪除,無論您何時(shí)訪問它仍然是相同的。
SNAPSHOT 版本與此相反。他們可以隨時(shí)更改(想想正在進(jìn)行的工作)。
通常,快照只能在您的本地存儲(chǔ)庫(kù)中找到。如果你想使用來自遠(yuǎn)程倉(cāng)庫(kù)的 SNAPSHOT,你必須明確地告訴 Maven 倉(cāng)庫(kù)提供 SNAPSHOT 版本。
考慮到這一區(qū)別,Maven 人員決定:
依賴范圍的解析不應(yīng)解析為快照(開發(fā)版本),除非將其作為顯式邊界包含在內(nèi)。除非您明確使用新功能,否則無需針對(duì)開發(fā)代碼進(jìn)行編譯,在該新功能下快照將成為版本規(guī)范的下限。
添加回答
舉報(bào)
0/150
提交
取消