2
以下是我目前對Maven如何處理依賴關係的理解。Maven快照「生命週期」
當一個依賴關係正在積極工作Maven將「-SNAPSHOT」附加到該版本的末尾。例如)1.1.1-SNAPSHOT。這些快照上傳到專門負責快照的遠程存儲庫。同一個遠程存儲庫有一個發佈版本的軟件包部分。現在,當項目更新依賴關係時,Maven會將最新版本的包拉入本地存儲庫。僅根據快照上的時間戳更新快照。如果Maven提供了一個發佈版本(例如:1.1.0),它將永遠不會使用當前版本查找另一個包。
現在我的問題是:
- 什麼是我理解的缺陷?我錯過了一個概念性的作品嗎?
- 當包從SNAPSHOT移動到發行版本時,pom.xml如何更新以反映發佈版本的包?這是一個手動過程嗎?
- 最後,如果一個包被釋放,我們將使用上面的例子,1.1.1被釋放。是創建了1.1.2-SNAPSHOT還是創建了1.2.0-SNAPSHOT,並且這是將在poms中更新的版本?
什麼第三方的依賴?會不會有這些的SNAPSHOT,或者這些將永遠是一個發佈的版本?其次,所以任何不發達的東西都會有SNAPSHOTS,只有當一個分支被做時,SNAPSHOTS纔會成爲發佈版本。作爲一個總是在主分支上工作的開發人員,我通常不會在我的pom中看到自己的.jars發佈版本? – heater
通常你使用發佈的(穩定的)第三方依賴項。但是,如果您在與某些新服務集成的情況下與諾基亞合作,則可能是因爲您擁有快照依賴關係。但通常情況下,快照依賴性不會從公司的內部網中走出來。 –