2012-11-09 130 views
1

我有一個項目POM,它指定了一個指向沙箱位置的存儲庫標記。Maven - 存儲庫標記防止部署

<repositories> 
    <repository> 
     <id>mysandbox</id> 
     <name>Sandbox</name> 
     <url>http://myTestingSite.com/repositories/sandbox/</url> 
    </repository> 
</repositories> 

這在Eclipse中正常工作,並解決所有依賴關係,但是當我嘗試部署時,我得到以下異常。

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.5:deploy (default-depl 
    oy) on project myweb-web: Deployment failed: repository element was not specified in the POM insid 
    e distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter -> [Help 
    1] 
    org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plug 
    ins:maven-deploy-plugin:2.5:deploy (default-deploy) on project myweb-web: Deployment failed: repos 
    itory element was not specified in the POM inside distributionManagement element or in -DaltDeployme 
    ntRepository=id::layout::url parameter 

在Distributionmanagement元素結束語這樣做沒有任何意義,因爲我使用的存儲庫依賴解析,而不是部署。

回答

7

錯誤提示您要麼沒有distributionManagement元素,要麼元素不正確。

所以這與<repositories>的內容無關。只需創建一個正確的distributionManagement元素,它就可以工作。

請注意,破損的元素可能位於父POM中。在Maven看到它時運行mvn help:effective-pom以查看完整的POM。

6

您最初定義的存儲庫僅考慮下載依賴關係,而不是上載它們(如您所述)。

您需要添加什麼是分銷管理

<distributionManagement> 
    <repository> 
     <id>id</id> 
     <name>name</name> 
     <url>nexus_url</url> 
    </repository> 
</distributionManagement> 

內的存儲庫,如果你的關係被固定,你還需要定義密碼的服務器部分。

<servers> 
    <server> 
     <id>id</id> 
     <username>username</username> 
     <password>password</password> 
    </server> 
</servers> 
相關問題