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

Je reçois une erreur lors du déploiement d’un artefact dans mon propre référentiel sur un serveur Nexus: “Echec du déploiement des artefacts: impossible de transférer l’artefact” “Echec du transfert du fichier http: /// my_artifact. Le code de retour est: 400”

J’ai Nexus en cours d’exécution avec un référentiel personnalisé my_repo avec la configuration locale maven suivante:

settings.xml

 my_repo user pass  ...  my_repo Repo Mirror  *  
  • l’utilisateur a la permission de créer / lire / écrire dans my_repo –

pom.xml

   my_repo my_repo  default   snapshots Snapshots    

et puis je exécute

 mvn deploy 

et obtenez l’erreur. Une idée?

Quelques choses auxquelles je peux penser:

  • les informations d’identification de l’utilisateur sont erronées
  • URL vers le serveur est incorrect
  • l’utilisateur n’a pas access au référentiel de déploiement
  • l’utilisateur n’a pas access à la cible de référentiel spécifique
  • artefact est déjà déployé avec cette version s’il s’agit d’une version (pas de la version -SNAPSHOT)
  • le référentiel ne convient pas pour le déploiement de l’artefact respectif (par exemple, publication d’un référentiel pour la version instantanée, repository ou groupe de proxy au lieu d’un référentiel hébergé)

Cochez celles-ci et si vous rencontrez toujours des problèmes, donnez plus de détails ici.

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

Essayez de changer la version de votre artefact pour terminer par -SNAPSHOT .

J’ai eu exactement ce problème aujourd’hui et le problème était que la version que j’essayais de publier: perform était déjà dans le repos Nexus.

Dans mon cas, cela était probablement dû à une déconnexion du réseau lors d’une invocation antérieure de release: perform. Même si j’ai perdu ma connexion, il semble que la version ait réussi.

Dans les rares cas où vous devez redéployer l’artefact SAME STABLE sur Nexus, il é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 fichier JAR ou pom n’efface pas les autres fichiers encore présents dans le répertoire. Vous devez vous connecter à la boîte et supprimer le répertoire dans son intégralité.

La cause du problème pour moi était que -source.jars était téléchargé deux fois (avec maven-source-plugin) comme mentionné comme étant une des causes dans la réponse acceptée. En redirigeant pour répondre à cette question: le plug-in de la version Maven échoue: les artefacts source sont déployés deux fois

  • dans l’application parent pom ==> Version place le tag comme suit: xxx-SNAPSHOT

exemple: 0.0.1-SNAPSHOT

  • “-SNAPSHOT”: est très important

Assurez-vous que cela n’existe pas déjà (artefact et version) dans Nexus (en tant que version). Dans ce cas, retournez Bad Request.

J’ai eu le même problème aujourd’hui avec l’ajout “Le code de retour est le suivant: 400, ReasonPhrase: Bad Request.” qui s’est avéré être le “artefact est déjà déployé avec cette version si c’est une version” problème de la réponse ci-dessus entrez la description du lien ici

Une solution non encore mentionnée consiste à configurer Nexus pour autoriser le redéploiement dans un référentiel Release. Peut-être pas une bonne pratique, car cela est défini pour une raison, vous pouvez néanmoins aller dans “Paramètres d’access” dans l’onglet “Configuration” de vos référentiels Nexus et définir la “Stratégie de déploiement” sur “Autoriser le redéploiement”.

Si l’une des réponses ci-dessus a fonctionné, vous pouvez créer un nouvel artefact directement du côté admin de (Capture d’écran NEXUS ci-dessous).

  1. Login to nexus interface utilisateur http: // YOUR_URL: 8081 / nexus (nom d’utilisateur: admin mot de passe par défaut: admin123 )
  2. Click repositories sur les Click repositories sur le côté gauche, puis cliquez sur le Click repositories , Par exemple: cliquez sur relâcher.
  3. Choisissez artifact Upload (dernier onglet).
  4. Choisissez la GAV definition tant que GAV Param – Entrez ensuite votre groupid, votre identifiant d’artefact et votre version.
  5. Choisissez le fichier Jar.
  6. Cliquez sur télécharger l’artefact. C’est tout !

Maintenant, vous pourrez append le corrsponding dans votre projet (capture d’écran ci-dessous)

entrer la description de l'image ici