3

Maven の deploy プラグインをオーバーライドしようとしていますが、一部のプロジェクトで次のエラーが発生しますが、他のプロジェクトでは発生しません。

Execution default-deploy of goal org.apache.maven.plugins:maven-deploy-plugin:2.6:deploy failed: Cannot add two different pieces of metadata for:

これが私のプラグイン定義です:

<plugin>
  <artifactId>maven-deploy-plugin</artifactId>
  <executions>
    <execution>
      <id>default-deploy</id>
      <phase>deploy</phase>
      <goals>
        <goal>deploy</goal>
      </goals>
      <configuration>
        <pomFile>target/modified-pom-replacePomPlaceholder/modified-pom/pom.xml</pomFile>
      </configuration>
    </execution>
  </executions>
</plugin>

これも同じ効果を試しました:

<plugin>
  <artifactId>maven-deploy-plugin</artifactId>
  <configuration>
    <pomFile>target/modified-pom-replacePomPlaceholder/modified-pom/pom.xml</pomFile>
  </configuration>
</plugin>

時々失敗する理由はありますか?

4

2 に答える 2

0

少し遅いかもしれませんが、ここで私の仮定:

mvn clean deploy -Xなどのデバッグ出力をオンにして maven を実行し、デバッグ出力、特に次の 2 行を確認します。

    [DEBUG]   (f) pomFile = /home/rotscher/projects/localswap/localswap-web/target/pom.xml
    [DEBUG]   (f) project = MavenProject: ch.rotscher.localswap:localswap-web:1 @ /home/rotscher/projects/localswap/localswap-web/target/pom.xml

パスは等しい必要があります (java.io.File.equals によると)。したがって、解決策はpomFileのパスを${basedir}で構成することであると思います。

    <plugin>
      <artifactId>maven-deploy-plugin</artifactId>
      <configuration>
          <pomFile>${basedir}/target/modified-pom-replacePomPlaceholder/modified-pom/pom.xml</pomFile>
        </configuration>
      </plugin>
于 2013-09-24T21:21:00.300 に答える