[JAVA] Release: Durchführen der Bereitstellung gibt Fehlercode 400

Fehlerdetails

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

Fehlerursache

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>

Gegenmaßnahmen

  1. Ändern Sie das Maven-Source-Plugin und das Maven-Javadoc-Plugin
  2. Reduzieren Sie die Maven-Version auf 3.2.1

Maßnahme 1

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>

Ergebnis

Die Release-Version wurde erfolgreich mit der Methode von Countermeasure 1 veröffentlicht.

Recommended Posts

Release: Durchführen der Bereitstellung gibt Fehlercode 400
Fehler beim Bereitstellen von EC2
Fehler beim Bereitstellen von Docker auf Schienen mit Notizen
Fehler beim Spielen mit Java
DB-Fehler bei der Bereitstellung mit Heroku
Fehler beim Erstellen der Infrastruktur mit der aws-App
[Rails] Fehlerbehebung beim Generieren von Token mit PAYJP
Fehler beim Bereitstellen von Rails5 + MySQL auf Heroku mit Docker-Compose
Fehler bei der Installation von pygame (Befehl "python setup.py egg_info" mit Fehlercode 1 in / tmp / pip-build-yovQQX / pygame / fehlgeschlagen)
Problemumgehung für Bundler.require-Fehler beim Ausführen von Ruby mit crontab
Beim Verschlüsseln mit Node + Docker wurde eine Fehlermeldung angezeigt