2011-10-27 235 views
3

我有幾個子項目的maven父項目。在部署中,我想執行一些複雜的scp任務。當我運行MVN部署我有錯誤:從父項目部署Maven

[INFO] Reactor Summary: 
[INFO] 
[INFO] Child project1 ............................... FAILURE [0.331s] 
[INFO] Child project 2 .............................. SKIPPED 
[INFO] Child project 3 .............................. SKIPPED 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.5:deploy 
(default-deploy) on project Parent: Deployment failed: repository element 
was not specified in the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter -> [Help 1] 

我讀的問題Deployment issue with Maven Plugin它說,我需要的settings.xml中定義庫。但我沒有任何存儲庫,我想在部署階段執行的所有操作都是在服務器上覆制文件並執行其他工作的執行腳本。我只想在父項目中執行這個腳本,並且在孩子的這個階段進行學習。 我還沒有很多maven的工作,所以也許我只是想念一些maven的概念。

回答

3

如果沒有庫(意爲:部署/項目庫,不當地,你必須有),然後不要運行mvn deploy,而是mvn install。 Maven Release Plugin(默認情況下,綁定到部署階段)用於在工程存儲庫中安裝工件,並在源代碼控制存儲庫中標記它,類似的東西。這意味着:您必須在主POM中定義存儲庫和源控制連接,並且可能需要在settings.xml中爲您的存儲庫訪問憑證。

如果你想跳過某些項目(包括爲<modules>,對吧?),我想你最好的選擇是使用profiles不同<modules>段裏的每一個輪廓。