Wenn ich mvn release:perform
auf einer übergeordneten POM ausführen, wird der Server mit diesem Fehler um einen der Kinderprojekte (Dateinamen unkenntlich gemacht) reagiert:Nexus akzeptiert hochladen, aber sagt, es ist fehlgeschlagen
[ERROR] Fehler Ziel auszuführen org.apache.maven.plugins: maven-deploy-plugin: 2.7: deploy-datei (default-cli) für Projekt: Fehler beim Bereitstellen von Artefakten: Konnte nicht Artefakt von/in Repository übertragen: Datei konnte nicht übertragen werden. Rückgabecode ist: 400, ReasonPhrase: Ungültige Anforderung.
Alle Dateien für dieses untergeordnete Projekt sind jedoch erfolgreich hochgeladen! Ich sehe ein neues Verzeichnis (benannt nach der Release-Nummer) und es enthält alle .jar, .pom, .md5 und .sha1 Dateien, die man erwarten würde.
Ich habe keinen Zugriff auf den Nexus-Server, aber ich frage mich, was könnte dies verursachen und wie es zu beheben. Ist es möglich, dass Maven versucht, dieses spezielle Kindprojekt zweimal hochzuladen? Wenn ja, warum sollte Maven das machen und wie kann ich es stoppen?
UPDATE: Wenn Sie das gleiche Problem haben, überprüfen Sie die Antwort mit den meisten Upvotes in this post. Ich lief mvn help:effective-pom
und festgestellt, dass das fragliche Projekt hatte tatsächlich zwei Ausführungen der Bereitstellungsphase. Das Entfernen einer dieser Ausführungen löste mein Problem.
Ist die Version, die Sie bereitstellen möchten, bereits vorhanden? – StackFlowed
@wrongAnswer: Nein. Als der Fehler zum ersten Mal auftrat, dachte ich, dass das vielleicht das Problem war, also löschte ich explizit das neue Verzeichnis des Artefakts (zusammen mit dem Verzeichnis eines anderen untergeordneten Projekts, das ohne Fehler hochgeladen wurde) und versuchte es erneut. Dies führte zu dem gleichen Problem: Die beiden untergeordneten Projekte wurden hochgeladen, aber die zweite gab die "Bad Request" erneut, obwohl sie erfolgreich hochgeladen wurde. –
Können Sie den vollständigen Fehler geben ... – StackFlowed