Je rencontre actuellement un problème lors de la tentative de configuration d'un projet à déployer dans un référentiel interne Nexus. Comme je suis plutôt nouveau chez Maven en général, je m'attends à ce que je ne comprenne pas vraiment comment mettre en place la gestion de la distribution. Le problème de base est que lorsque j'exécute "mvn deploy", l'artefact est déployé avec succès dans le référentiel de snapshots, mais Maven tente également de le déployer dans le référentiel de release, qui échoue ... comme il se doit. Ma compréhension de ma configuration actuelle est qu'elle ne devrait PAS être déployée dans le dépôt de publication.Pourquoi Maven (incorrectement?) Déploie-t-il mon SNAPSHOT dans les dépôts de versions et d'instantanés?
J'ai inclus les différents éléments de configuration ci-dessous, mais je me demande si je suis censé gérer la section avec un profil afin que les builds d'instantanés aient seulement été définis et que les builds soient définis.
Toute aide/clarification à ce sujet serait très appréciée.
je suit dans mon POM pour la gestion de la distribution:
<distributionManagement>
<repository>
<id>internal-releases</id>
<name>Internal Releases</name>
<url>http://localhost:8081/nexus/content/repositories/releases</url>
</repository>
<snapshotRepository>
<id>internal-snapshots</id>
<name>Internal Snapshots</name>
<url>http://localhost:8081/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
Ailleurs dans le POM je donne les résultats suivants mis en place pour permettre d'utiliser ces dépôts pour obtenir des objets:
<repositories>
<repository>
<id>internal-releases</id>
<url>http://localhost:8081/nexus/content/repositories/releases</url>
<snapshots><enabled>false</enabled></snapshots>
</repository>
<repository>
<id>internal-snapshots</id>
<url>http://localhost:8081/nexus/content/repositories/snapshots</url>
<snapshots><enabled>true</enabled></snapshots>
</repository>
<!-- other repos, etc, etc -->
</repositories>
I avoir les paramètres corrects dans mon settings.xml pour fournir des informations d'identification pour être en mesure de publier sur cette instance de test nexus qui tourne sur mon ordinateur, et il est en fait déployer avec succès l'instantané.
Le problème est qu'il tente également de déployer l'instantané dans le référentiel de version, qui est configuré pour interdire les instantanés.
La sortie de « mvn déployer » comprend les éléments suivants:
[INFO] [deploy:deploy {execution: default-deploy}]
[INFO] Retrieving previous build number from internal-snapshots
Uploading: http://localhost:8081/nexus/content/repositories/snapshots/com/internal/service/1.0.0-SNAPSHOT/service-1.0.0-20101104.170338-8.war
405K uploaded (service-1.0.0-20101104.170338-8.war)
[INFO] Retrieving previous metadata from internal-snapshots
[INFO] Uploading repository metadata for: 'snapshot com.internal:service:1.0.0-SNAPSHOT'
[INFO] Retrieving previous metadata from internal-snapshots
[INFO] Uploading repository metadata for: 'artifact com.internal:service'
[INFO] Uploading project information for service 1.0.0-20101104.170338-8
[INFO] [deploy:deploy-file {execution: default}]
[INFO] Retrieving previous build number from remote-repository
[INFO] repository metadata for: 'snapshot com.internal:service:1.0.0-SNAPSHOT' could not be found on repository: remote-repository, so will be created
Uploading: http://localhost:8081/nexus/content/repositories/releases/com/internal/service/1.0.0-SNAPSHOT/service-1.0.0-20101104.170338-1.jar
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error deploying artifact: Failed to transfer file: http://localhost:8081/nexus/content/repositories/releases/com/internal/service/1.0.0-SNAPSHOT/service-1.0.0-20101104.170338-1.jar. Return code is: 400
Le journal de Nexus contient les éléments suivants (comme je l'attendre à):
jvm 1 | 2010-11-04 13:03:39 INFO [p-759477796-118] - o.s.n.p.m.m.M2Repos~ - Storing of item releases:/com/internal/service/1.0.0-SNAPSHOT/service-1.0.0-20101104.170338-1.jar is forbidden by Maven Repository policy. Because releases is a RELEASE repository
jvm 1 | 2010-11-04 13:03:39 ERROR [p-759477796-118] - o.s.n.r.ContentPlex~ - Got exception during processing request "PUT http://localhost:8081/nexus/content/repositories/releases/com/internal/service/1.0.0-SNAPSHOT/service-1.0.0-20101104.170338-1.jar": Storing of item releases:/com/internal/service/1.0.0-SNAPSHOT/service-1.0.0-20101104.170338-1.jar is forbidden by Maven Repository policy. Because releases is a RELEASE repository
La version d'artefact est-1.0.0 INSTANTANÉ, donc pas. – imaginaryboy
Cette réponse devrait faire un commentaire, je pense –