1

I have a project POM which specifies a repositories tag which points to a sandbox location.

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

This works fine in Eclipse and resolves all dependencies however when i attempt to deploy i get the following exception.

   [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

Wrapping this in a Distributionmanagement element doesn't make any sense because I'm using the repository for dependency resolution and not deployment.

4

2 に答える 2

7

エラーはdistributionManagement、要素がないか、要素が正しくないことを示しています。

したがって、これはの内容とは何の関係もありません<repositories>。正しいdistributionManagement要素を作成するだけで機能します。

壊れた要素が親POMにある可能性があることに注意してください。mvn help:effective-pomMavenが見ているように、実行して完全なPOMを確認します。

于 2012-11-09T14:15:45.463 に答える
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>
于 2012-11-09T14:19:15.847 に答える