2009-12-16 130 views

回答

0

您是否控制此遠程存儲庫?如果是,則使用「-SNAPSHOT」版本號。

或者詢問控制存儲庫的人這樣做。這是告訴Maven相關性處於不確定狀態的正確方法。

如果你不能/不願意這樣做,寫一個批處理/ shell腳本來調用Maven,它會事先刪除文件。

0

我有一個遠程存儲庫,它在5小時內更新一次jar而不更改版本號。 Pom文件無法更新,因爲版本相同。每次我需要手動刪除。有什麼辦法可以使用settings.xml獲得最新的文件。

不,沒有辦法做到這一點。一旦下載了具有固定版本的工件(與SNAPSHOT相反),它將不會再次下載,除非您將其從本地存儲庫中刪除。實際上,在不更改其固定版本號的情況下重新發佈一個罐子是一種做法,必須避免。這不僅僅是maven的工作原理,而且在做這件事時,不可能預測人們真正使用的是哪個版本(不要求他們明確地將jar從本地存儲庫中移除,這是一個非常薄弱的​​做法),這會導致不可預知的結果。

處理頻繁發佈的正確方法是更改​​版本號(並相應地更新POM)或使用SNAPSHOT版本,這是在開發過程中使用的常用方法。根據定義,如果在遠程存儲庫中提供更新版本,則將下載SNAPSHOT版本。這是你正在尋找的,這是管理這種情況的maven方式。有關SNAPSHOT的更多詳細信息,請參閱Maven: The Definitive Guide的章節9.3.1.2. SNAPSHOT Versions

0

你可以在你的settings.xml 設置元素updatePolicy總是對儲存:

<profiles> 
    <profile> 
    <id>default</id> 
    <repositories> 
     <repository> 
     <releases> 
      <enabled>true</enabled> 
     </releases> 
     <snapshots> 
      <enabled>true</enabled> 
      <updatePolicy>always</updatePolicy> 
     </snapshots> 
     <id>snapshots.jboss.org</id> 
     <name>Snapshot JBoss Repository for Maven</name> 
     <url>http://snapshots.jboss.org/maven2/</url> 
     <layout>default</layout> 
     </repository> 
    </repositories> 
    </profile> 
</profiles> 
相關問題