我想對某些依賴項的版本使用范圍。但我真的不明白應該如何為我的案例定義它。這是查找結果 -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>我想導入最新的 0.1.x 依賴項,所以我認為以這種方式編寫范圍就可以了<dependency> <groupId>my.group.id</groupId> <artifactId>my-artifact</artifactId> <version>[0.1, 0.2)</version></dependency>然而,maven 說我的工件沒有可用的版本。定義范圍可以[0.1.0-SNAPSHOT, 0.2)解決問題,但我真的不明白為什么我需要如此具體的邊界,這是否是一個好的做法。定義此類范圍的正確方法是什么?
1 回答

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