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
maven
maven-central
Brian Fox
quelle
quelle
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
install
ist nur ein Beispiel für ein ZielDer gleiche Fehler für
ant
kann auf diese Weise behoben werdenLö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.quelle
sbt -Dhttps.protocols=TLSv1.2 instal
aber 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
quelle
Der folgende Befehl hat mir geholfen (Bash ausführen, bevor mvn ausgeführt wird)
quelle
Wie @ v.ladynev sagte, funktioniert es mit JDK 1.7
Um mit Eclipse ein "Ausführen als"
maven install
mit 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
.quelle
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_HOME
Umgebungsvariablen zu verwenden. Dann könnte ich laufenmvn install
und aus dem Maven Central Repository holen.quelle
Beachten Sie, dass Sie bei Verwendung des IBM JDK möglicherweise auch festlegen müssen
com.ibm.jsse2.overrideDefaultTLS=true
https://www.ibm.com/support/knowledgecenter/SSYKE2_8.0.0/com.ibm.java.security.component.80.doc/security-component/jsse2Docs/matchsslcontext_tls.html#matchsslcontext_tls
quelle
Mit jdk7-u221 musste ich die Java Cryptography Extension (JCE) installieren.
Java Cryptography Extension JCE
quelle
So legen Sie die Java-Eigenschaften auf dem Windows-App-Server fest:
Fügen Sie dann Java-Optionen hinzu:
Dienst neu starten.
quelle