Maven schlägt in der Java7-Umgebung fehl (schwerwiegende Warnung erhalten: protocol_version)

Wenn ich nach dem 18. Juni 2018 versuche, "mvn clean package" in einer Java7-Umgebung auszuführen, schlägt dies fehl, da keine Kommunikation mit Maven Central Repository möglich ist.

Java7-Umgebung

Dies ist beispielsweise die Umgebung. (Es war eine Java7 Windows Server 2008 R2-Umgebung. Alt ...)

> mvn --version

Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-25T03:41:47+09:00)
Maven home: C:\apache-maven-3.6.0\bin\..
Java version: 1.7.0_75, vendor: Oracle Corporation, runtime: C:\Program Files (x86)\xxxxxx\jdk\jre
Default locale: ja_JP, platform encoding: MS932
OS name: "windows server 2008 r2", version: "6.1", arch: "x86", family: "windows"

versuche mvn sauber zu machen

Er ging zum Maven Central Repository, um das erforderliche Maven-Plugin Maven-Clean-Plugin: 2.5 zu erhalten, starb jedoch mit einem Fehler mit [ERROR] ... Erhielt eine schwerwiegende Warnung: protocol_version. Ich bin.

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.805 s
[INFO] Finished at: 2018-12-14T11:46:23+09:00
[INFO] ------------------------------------------------------------------------
[ERROR] Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.5: Could not transfer artifact org.apache.maven.plugins:maven-clean-plugin:pom:2.5 from/to central (https://repo.maven.apache.org/maven2): Received fatal alert: protocol_version -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException

Die Erhaltene schwerwiegende Warnung: protocol_version bedeutet hier ** "Sie haben mit TLSv1.0 zugegriffen, aber wir unterstützen nur TLSv1.2" **.

Ist Maven Central Repository nur TLSv1.2?

Ab dem 18.06.2018 scheinen TLSv1.0 und TLSv1.1 ohne Unterstützung geändert worden zu sein.

Java7 ist TLSv1.0?

Java7 unterstützt standardmäßig die Verschlüsselungsprotokolle TLSv1.0, TLSV1.1 und TLSv1.2. Obwohl unterstützt, ist ** Java7 standardmäßig auf TLSv1.0 ** eingestellt.

Wenn Sie dies nicht explizit in Ihren JVM-Einstellungen oder im Quellcode angeben, verwendet Java7 TLSv1.0.

Da dies von den Spezifikationen der von der Java-Anwendung verwendeten http-Client-Bibliothek abhängt, kann nicht gesagt werden, dass Java7-> Standard-TLSv1.0. Hinweis.

Lösung

Die einfache Methode ist dies. Fügen Sie -Dhttps.protocols = TLSv1.2 zu den JVM-Startoptionen hinzu.

mvn -Dhttps.protocols=TLSv1.2 clean

Lösung (Windows Black Magic)

Unter Windows ist der Befehl mvn eine Batch-Datei, sodass Sie sie direkt umschreiben können ** (= schwarze Magie) **.

#Der Pfad von ↓ ist zum Beispiel. Bitte lesen Sie als den Ort, an dem Sie es selbst platziert haben.
C:\apache-maven-3.6.0\bin\mvn.cmd

Es gibt einen Ort, an dem der Java-Befehl ausgeführt wird. Fügen Sie dort die JVM-Option hinzu.

 "%JAVACMD%" ^
   %JVM_CONFIG_MAVEN_PROPS% ^
   %MAVEN_OPTS% ^
   %MAVEN_DEBUG_OPTS% ^
   -classpath %CLASSWORLDS_JAR% ^
   "-Dclassworlds.conf=%MAVEN_HOME%\bin\m2.conf" ^
   "-Dmaven.home=%MAVEN_HOME%" ^
   "-Dlibrary.jansi.path=%MAVEN_HOME%\lib\jansi-native" ^
   "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^
+  "-Dhttps.protocols=TLSv1.2" ^
   %CLASSWORLDS_LAUNCHER% %MAVEN_CMD_LINE_ARGS%

Referenz

Recommended Posts

Maven schlägt in der Java7-Umgebung fehl (schwerwiegende Warnung erhalten: protocol_version)
JavaFX-Umgebungskonstruktion in Java 13
Java Spring-Umgebung in vs Code
Reduzieren Sie die Java / Maven-Erstellungszeit mit Nexus 3 in der OpenShift (okd 3.11) DevOps-Umgebung
Leistungseinbußen bei Java-Containern in der Menicoa-Umgebung
Spielen Sie die Framework 2.6 (Java) -Umgebungskonstruktion mit Eclipse
In einer VM-Umgebung erstellte Java-Anwendungsentwicklungsumgebung
Wenn Java-Tests Umgebungsvariablen enthalten
Lösung für NetBeans 8.2 funktioniert nicht in Java 9-Umgebung
Punkte, die beim Erstellen der VS Code- und Java-Entwicklungsumgebung hängen bleiben
[Anfänger] Installieren Sie das Java-Entwicklungstool in der Cloud9-Entwicklungsumgebung.
Ersetzen von Systemumgebungsvariablen durch Reflektion in Java