2011-08-24 149 views
1

我在離線網絡中有一個maven存儲庫。合併maven .m2存儲庫

我需要更新其內容,並在另一個倉庫合併。

什麼是做到這一點的最好方法是什麼?我看着無蓋貨車插件Wagon,但我擔心可能有更好的方法。

我可以取代我的本地回購與離線存儲庫經理,但問題仍然存在,我將不得不更新回購與在線來源定期合併。

回答

1

如果你能負擔得起擺脫所有元數據(這應該恢復與未來MVN指令運行)爲您的操作時,只需使用rsync的。

如果建立一個具體的存儲庫是不是強制性的,可以考慮使用Nexus及其groups

+0

Vicent可以澄清你的意思是「具體」存儲庫嗎? – stimpy

+1

我的意思是「抽象」的相反。 Nexus允許您定義具有各種外觀的組,可能有許多存儲庫用於在幕後獲取工件。因此,根據您的需要,擁有這種委託代理風格的存儲庫可能不是一種選擇。我假設你的問題可能是關於建立一個單一的存儲庫,你可以把它放在你的USB密鑰上... – Vincent

+0

謝謝。我更新了我的問題。 – stimpy

1

Vincent's answer是正確的,但我會更加強烈建議你不要在.m2/repository目錄中做到這一點。該目錄是一個緩存,應該可以隨時刪除。您應該考慮設置一個存儲庫管理器(例如Archiva,Nexus或Artifactory,或者僅僅是一個HTTP服務器)並在那裏託管存儲庫內容,以便您可以讓Maven管理.m2/repository目錄。

+0

請澄清一下「該目錄是緩存」部分?如果它是唯一的回購,它怎麼可能是緩存?此外,我看着nexus,但沒有看到在另一個回購合併的能力。 – stimpy

+1

在Maven中,遠程存儲庫是規範的源,而本地存儲庫是從某個遠程存儲庫檢索到的內容的緩存。這是因爲遙控器被設計成在用戶之間共享,而本地則不是。 Maven只會在那裏使用緩存進行操作,但如果您從中刪除了某些內容,則希望能夠再次從遠程存儲庫中獲取它們。如果其他用戶無法做到這一點,那麼這些版本將無法工作,因爲它們沒有與您的本地存儲庫相同的版本。理解了 –

+0

。問題確認 – stimpy