135 votes

Erreur lors du déploiement d'un artefact dans Nexus

J'obtiens une erreur lors du déploiement d'un artefact dans mon propre référentiel sur un serveur Nexus : "Failed to deploy artifacts : Could not transfer artifact" "Failed to transfer file http:///my\_artifact. Return code is : 400"

J'ai fait tourner Nexus avec un dépôt personnalisé my_repo avec la configuration locale suivante de maven :

paramètres.xml

<server>
    <id>my_repo</id>
    <username>user</username>
    <password>pass</password>
 </server>
 ...
 <mirror>
    <id>my_repo</id>
    <name>Repo Mirror</name>
    <url><my_url_to_my_repo></url>
    <mirrorOf>*</mirrorOf>
  </mirror>
  • l'utilisateur a les droits de créer/lire/écrire dans mon_repo -

pom.xml

<distributionManagement>
        <repository>
            <id>my_repo</id>
            <name>my_repo</name>
            <url><my_url_to_my_repo></url>
            <layout>default</layout>
        </repository>
        <snapshotRepository>
            <id>snapshots</id>
            <name>Snapshots</name>
            <url><my_url_to_my_snapshot_repo></url>
        </snapshotRepository>
    </distributionManagement>

et ensuite j'exécute

mvn deploy

et obtenir l'erreur. Une idée ?

208voto

Manfred Moser Points 13454

Deux ou trois choses auxquelles je peux penser :

  • les informations d'identification de l'utilisateur sont erronées
  • L'url du serveur est erronée
  • l'utilisateur n'a pas accès au référentiel de déploiement
  • l'utilisateur n'a pas accès à la cible spécifique du référentiel
  • l'artefact est déjà déployé avec cette version s'il s'agit d'une release (pas la version -SNAPSHOT)
  • le dépôt n'est pas approprié pour le déploiement de l'artefact respectif (par exemple, un dépôt de version pour la version snapshot, un dépôt proxy ou un groupe au lieu d'un dépôt hébergé).

Vérifiez-les et si vous rencontrez toujours des problèmes, donnez plus de détails ici.

40voto

roj Points 370

400 Bad Request sera renvoyé si vous essayez de :

  1. Déployer un instantané artefact (ou version) se terminant par -SNAPSHOT à un libérer dépôt
  2. Déployer un libérer artefact (version no se terminant par -SNAPSHOT ) à un instantané dépôt
  3. Déployer le même version d'un libérer artefact plus d'une fois à un libérer dépôt

38voto

bhagyas Points 2024

Juste pour créer une réponse séparée. La réponse se trouve en fait dans un commentaire de la réponse acceptée.

Essayez de changer la version de votre artefact pour qu'elle se termine par -SNAPSHOT .

17voto

ankitkpd Points 24

La cause du problème pour moi était -source.jars a été téléchargé deux fois (avec maven-source-plugin) comme mentionné comme l'une des causes dans la réponse acceptée. Redirection vers la réponse que j'ai référencée : Le plugin Maven release échoue : les artefacts sources sont déployés deux fois.

10voto

bosvos Points 77

Dans le cas rare où vous auriez besoin de redéployer le MEME artefact STABLE vers Nexus, cela échouera par défaut. Si vous supprimez ensuite l'artefact de Nexus (via l'interface web) dans le but de le déployer à nouveau, le déploiement échouera toujours, car la simple suppression du jar ou du pom, par exemple, n'efface pas les autres fichiers qui se trouvent encore dans le répertoire. Vous devez vous connecter à la boîte et supprimer le répertoire dans son intégralité.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X