29

スナップショットとリリースの両方をNexusにデプロイするようにMavenプロジェクトを構成するにはどうすればよいですか?

<distributionManagement>
    <repository>
        <id>InternalReleases</id>
        <name>Internal Releases</name>
        <url>http://192.168.16.232:8081/nexus/content/repositories/releases/</url>
    </repository>
    <repository>
        <id>InternalSnapshots</id>
        <name>Internal Snapshots</name>
        <url>http://192.168.16.232:8081/nexus/content/repositories/snapshots/</url>
    </repository>
</distributionManagement>

この構成により、Eclipse3.8とm2e1.2でエラーが発生します

Project build error: Non-parseable POM D:\Workspaces\W\Parent\pom.xml: Duplicated tag: 'repository' (position: START_TAG 
 seen ...

pomのバージョンに-SNAPSHOTの接尾辞が付いている場合は、アーティファクトをInternalSnapshotsリポジトリにデプロイし、RELEASEの場合はInternalReleasesリポジトリにデプロイします。これは、同じpom.xmlファイルを使用し、同じmvn deployコマンドを実行することで発生するはずです。

4

3 に答える 3

43

リリースリポジトリとスナップショットリポジトリを区別する必要があります。1人の子供<distributionManagement>のみを許可します。<repository><snapshotRepository>

http://maven.apache.org/pom.html#Distribution_Management

于 2013-01-08T09:51:09.350 に答える
29

pom.xml構成例

<!-- http://maven.apache.org/pom.html#Distribution_Management -->
<distributionManagement>
    <snapshotRepository>
        <id>InternalSnapshots</id>
        <name>Internal Snapshots</name>
        <url>http://192.168.16.232:8081/nexus/content/repositories/snapshots/</url>
    </snapshotRepository>
    <repository>
        <id>InternalReleases</id>
        <name>Internal Releases</name>
        <url>http://192.168.16.232:8081/nexus/content/repositories/releases/</url>
    </repository>
</distributionManagement>

.m2/settings.xmlデフォルトのNexusインストール用のスニペット

<server>   
    <id>thirdparty</id>   
  <username>deployment</username>
  <password>deployment123</password>
</server>
<server>
  <id>InternalReleases</id>
  <username>deployment</username>
  <password>deployment123</password>
 </server>  
<server>
  <id>InternalSnapshots</id>
  <username>deployment</username>
  <password>deployment123</password>
 </server>  
于 2013-01-08T14:24:52.267 に答える
0

あなたは両方を行うことができます。

maven-release-plugin2.5.3を追加します

次を実行します。

mvn deploy clean:release release:prepare release:perform
于 2017-07-13T14:49:30.990 に答える