Beim Herstellen einer Verbindung zu Maven Central / https://repo1.maven.org nach dem 18. Juni 2018 werden die folgenden Fehler angezeigt .
Received fatal alert: protocol_version
oder
Received fatal alert: peer not authenticated
Beim Herstellen einer Verbindung zu Maven Central / https://repo1.maven.org nach dem 18. Juni 2018 werden die folgenden Fehler angezeigt .
Received fatal alert: protocol_version
oder
Received fatal alert: peer not authenticated
Antworten:
Lösung 1: Konfigurieren Sie Java 7
Es ist erforderlich, das TLS 1.2-Protokoll mit der Java-Eigenschaft in der Befehlszeile zu aktivieren
mvn -Dhttps.protocols=TLSv1.2 install
install ist nur ein Beispiel für ein Ziel
Der gleiche Fehler für antkann auf diese Weise behoben werden
java -Dhttps.protocols=TLSv1.2 -cp %ANT_HOME%/lib/ant-launcher.jar org.apache.tools.ant.launch.Launcher
Lösung 2: Verwenden Sie Java 7 mit Oracle Advanced Support
Das Problem kann auch durch Aktualisieren der Java 7-Version behoben werden. Die letzte verfügbare Version ( 7u80) behebt das Problem jedoch nicht. Es muss ein Update verwendet werden, das mit Oracle Advanced Support (früher bekannt als Java for Business) bereitgestellt wird.
Lösung 3: Verwenden Sie stattdessen Java 8
Konfigurieren Sie $JAVA_HOME, um auf Java 8 zu verweisen.
sbt -Dhttps.protocols=TLSv1.2 instalaber es funktioniert nicht
-Dhttps.protocols=TLSv1.2. Sie müssen also herausfinden, wie Sie Java-Parameter in SBT übergeben können.
Im Juni 2018 werden die unsicheren TLS 1.0- und 1.1-Protokolle für SSL-Verbindungen zu Central nicht mehr unterstützt, um die Sicherheit zu erhöhen und die modernen Standards einzuhalten. Dies sollte nur Benutzer von Java 6 (und Java 7) betreffen, die ebenfalls https für den Zugriff auf Central verwenden, was nach unseren Metriken weniger als 0,2% der Benutzer ausmacht.
Weitere Details und Problemumgehungen finden Sie im Blog und in den FAQ hier: https://blog.sonatype.com/enhancing-ssl-security-and-http/2-support-for-central
Der folgende Befehl hat mir geholfen (Bash ausführen, bevor mvn ausgeführt wird)
export MAVEN_OPTS=-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
Wie @ v.ladynev sagte, funktioniert es mit JDK 1.7
Um mit Eclipse ein "Ausführen als" maven installmit dem TLS-Befehlszeilenparameter ausführen zu können , konfigurieren Sie einfach das von Ihnen verwendete JDK.
Öffnen Sie den Dialog über Fenster > Einstellungen > Java > Installierte JREs .
Markieren Sie dann das verwendete (sollte ein JDK sein , kein JRE ) und klicken Sie auf Bearbeiten . Geben Sie im Feld "Standard-VM-Argumente" den Wert ein -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2. Wie nachfolgend dargestellt:
Bereinigen Sie das Projekt (möglicherweise optional) und führen Sie a erneut aus maven install.
Es tut mir leid, ich weiß nicht, warum Sie die Fehlermeldung erhalten. Ich verwende jedoch Java 7 und Windows 10 und die Lösung für mich bestand darin, Java 8 vorübergehend durch Ändern der JAVA_HOMEUmgebungsvariablen zu verwenden. Dann könnte ich laufen mvn installund aus dem Maven Central Repository holen.
Beachten Sie, dass Sie bei Verwendung des IBM JDK möglicherweise auch festlegen müssen
com.ibm.jsse2.overrideDefaultTLS=true
Mit jdk7-u221 musste ich die Java Cryptography Extension (JCE) installieren.