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.
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"
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" **.
Ab dem 18.06.2018 scheinen TLSv1.0 und TLSv1.1 ohne Unterstützung geändert worden zu sein.
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.
Die einfache Methode ist dies. Fügen Sie -Dhttps.protocols = TLSv1.2
zu den JVM-Startoptionen hinzu.
mvn -Dhttps.protocols=TLSv1.2 clean
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%
Recommended Posts