Comment configurer le projet maven pour déployer les instantanés et les versions sur Nexus?
<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>
Cette configuration crée une erreur dans Eclipse 3.8 avec m2e 1.2
Project build error: Non-parseable POM D:\Workspaces\W\Parent\pom.xml: Duplicated tag: 'repository' (position: START_TAG
seen ...
Je souhaite que l'artefact soit déployé dans le référentiel InternalSnapshots lorsque la version du pom porte le suffixe -SNAPSHOT et qu'il soit déployé dans le référentiel InternalReleases lorsqu'il est RELEASE. Cela devrait se produire en utilisant le même fichier pom.xml et en exécutant la même commande mvn deploy
.
Vous devez faire la distinction entre le référentiel des versions et des instantanés. <distributionManagement>
n'autorise qu'un <repository>
et un <snapshotRepository>
enfant.
Exemple de configuration 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>
Extraits de code pour .m2/settings.xml pour l'installation par défaut de 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>
Vous pouvez faire les deux.
Ajouter le maven-release-plugin 2.5.3
Exécutez ce qui suit:
mvn deploy clean: version version: préparer une version: effectuer