簡體   English   中英

Maven:如何跳過中央倉庫中存在的構件?

[英]Maven: how can I skip building artifacts which exist in central repo?

我的情況:我有一個包含幾個Maven模塊的項目。 我對其中之一進行了更改。 突然我發現,由於其他模塊中的錯誤,無法再構建我的項目。 要解決此問題,我需要運行SVN UPDATE並重建項目。

我的假設是:可能在我的模塊的構建過程中,一些構件是從中央存儲庫中獲取的,並且具有最新版本,而其他構件則已經過時並從我的本地倉庫中獲取。

一個問題:我不想每次有人更新ANOTHER Maven模塊時都重新構建我的項目。 我想從中央存儲庫下載已構建的人工制品,而無需自己重建它們。 可能嗎?

您可以告訴Reactor構建哪些模塊。 在您的情況下,當您僅更改單個模塊並希望加快構建速度時,可以將-pl(項目位置)參數傳遞給maven。 例如:

mvn -pl module-with-changes

這將構建單個模塊,同時從本地Maven存儲庫獲取其他依賴關系,或從Central下載(無論是最新版本)。 就是說,如果您已經為整個項目運行了mvn install並且尚未在Central倉庫中更新其他工件,那么Maven將把您的本地工件視為最新的,而不會重新下載它們。

使用-pl參數可能會遇到的另一個問題是,項目中的其他模塊取決於正在構建的模塊。 如果從屬模塊中存在問題,則僅通過構建依賴模型就不會看到問題。 為了避免這種情況,您可以傳遞-amd(也可以從屬)。 像這樣:

mvn -pl module-with-changes -amd

這將觸發構建變更模塊+依賴變更模塊的模塊及其依存關系。

您可以從此處獲取有關Reactor參數的更多信息: http : //www.sonatype.com/people/2009/10/maven-tips-and-tricks-advanced-reactor-options/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM