Bei der Bereitstellung der Release-Version von jar für Nexus mit dem Maven-Release-Plugin Der Job ist mit dem folgenden Fehler fehlgeschlagen.
[INFO] [INFO] ------------------------------------------------------------------------
[INFO] [INFO] BUILD FAILURE
[INFO] [INFO] ------------------------------------------------------------------------
[INFO] [INFO] Total time: 10.235 s
[INFO] [INFO] Finished at: 2017-11-01T18:38:53+09:00
[INFO] [INFO] Final Memory: 32M/578M
[INFO] [INFO] ------------------------------------------------------------------------
[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8:deploy
(default-deploy) on project test-lib: Failed to deploy artifacts: Could not transfer artifact
com.sample:test-lib:jar:sources:1.0.0 from/to nexus-releases ([NexusURL]/releases):
Failed to transfer file: [NexusURL]/releases/com/sample/test-lib/1.0.0/test-lib-1.0.0-sources.jar.
Return code is: 400, ReasonPhrase: Bad Request. -> [Help 1]
Es scheint, dass die Bereitstellung von sources.jar fehlgeschlagen ist, aber wenn ich Nexus überprüfe, wurde es bereits hochgeladen. .. .. Im Protokoll sieht es so aus, als ob ** source.jar zweimal bereitgestellt wurde **. Als ich aufhörte, source.jar als Test zu erstellen, trat das gleiche Phänomen in ** javadoc.jar ** auf.
[INFO] [INFO] --- maven-deploy-plugin:2.8:deploy (default-deploy) @ test-lib ---
/* jar,Pom-Bereitstellung entfällt*/
[INFO] Uploading: [NexusURL]/releases/com/sample/test-lib/1.0.0/test-lib-1.0.0-sources.jar
[INFO] Uploaded: [NexusURL]/releases/com/sample/test-lib/1.0.0/test-lib-1.0.0-sources.jar
[INFO] Uploading: [NexusURL]/releases/com/sample/test-lib/1.0.0/test-lib-1.0.0-javadoc.jar
[INFO] Uploaded: [NexusURL]/releases/com/sample/test-lib/1.0.0/test-lib-1.0.0-javadoc.jar
/*Quelle wieder.JAR bereitstellen*/
[INFO] Uploading: [NexusURL]/releases/com/sample/test-lib/1.0.0/test-lib-1.0.0-sources.jar
///Hier ist ein Fehler aufgetreten
Wie ein Maven Bug. Bis November 2017 ist es noch nicht geschlossen. https://issues.apache.org/jira/browse/MNG-5868 https://issues.apache.org/jira/browse/MNG-5939
Wenn Sie mvn -Prelease-profile help: effektive-pom
ausführen und sich den Pom ansehen, der tatsächlich funktioniert, wird die Ausführung wie unten gezeigt doppelt definiert. (In meinem Pom wurde nur die obere Definition beschrieben)
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
Führen Sie wie oben mvn -Prelease-profile help: effektive-pom
aus, um die Ausführung zu finden, die Sie nicht angegeben haben.
Fügen Sie dann die dort aufgeführte ID zu pom hinzu.
(In meinem Fall war die ID des Quell-Plugins Attach-Quellen und die ID des Javadoc-Plugins war Attach-Javadocs.)
pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>install</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.4</version>
<executions>
<execution>
<id>attach-javadocs</id>
<phase>install</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
Die Release-Version wurde erfolgreich mit der Methode von Countermeasure 1 veröffentlicht.
Recommended Posts