J'obtiens les erreurs ci-dessous lors de la connexion à Maven Central / https://repo1.maven.org après le 18 juin 2018.
Received fatal alert: protocol_version
ou
Received fatal alert: peer not authenticated
J'obtiens les erreurs ci-dessous lors de la connexion à Maven Central / https://repo1.maven.org après le 18 juin 2018.
Received fatal alert: protocol_version
ou
Received fatal alert: peer not authenticated
Réponses:
Solution 1: configurer Java 7
Il est nécessaire d'activer le protocole TLS 1.2 avec la propriété Java dans la ligne de commande
mvn -Dhttps.protocols=TLSv1.2 install
install
est juste un exemple d'objectif
La même erreur pour ant
peut être résolue de cette manière
java -Dhttps.protocols=TLSv1.2 -cp %ANT_HOME%/lib/ant-launcher.jar org.apache.tools.ant.launch.Launcher
Solution 2: utilisez Java 7 avec Oracle Advanced Support
Le problème peut également être résolu en mettant à jour la version Java 7. Mais la dernière version disponible ( 7u80
) ne résout pas le problème. Il est nécessaire d'utiliser une mise à jour fournie avec Oracle Advanced Support (anciennement Java for Business).
Solution 3: utilisez Java 8 à la place
Configurez $JAVA_HOME
pour pointer vers Java 8.
sbt -Dhttps.protocols=TLSv1.2 instal
mais cela ne fonctionne pas
-Dhttps.protocols=TLSv1.2
. Vous devez donc trouver comment passer les paramètres java dans SBT.
En juin 2018, dans le but d'améliorer la sécurité et de se conformer aux normes modernes, les protocoles non sécurisés TLS 1.0 et 1.1 ne seront plus pris en charge pour les connexions SSL à Central. Cela ne devrait affecter que les utilisateurs de Java 6 (et Java 7) qui utilisent également https pour accéder au central, ce qui, selon nos métriques, représente moins de 0,2% des utilisateurs.
Pour plus de détails et de solutions de contournement, consultez le blog et la FAQ ici: https://blog.sonatype.com/enhancing-ssl-security-and-http/2-support-for-central
La commande suivante m'a aidé (exécution sur bash avant d'exécuter mvn)
export MAVEN_OPTS=-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
Comme dit @ v.ladynev, cela fonctionne avec JDK 1.7
Avec Eclipse, pour pouvoir effectuer un "Exécuter en tant que" maven install
avec le paramètre de ligne de commande TLS, configurez simplement le JDK que vous utilisez.
Ouvrez la boîte de dialogue via Fenêtre > Préférences > Java > JRE installés .
Ensuite, mettez en surbrillance celui que vous utilisez (devrait être un JDK , pas un JRE ), cliquez sur Modifier . Dans le champ "Arguments VM par défaut", remplissez la valeur -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
. Comme indiqué ci-dessous:
Nettoyez le projet (peut-être facultatif), puis réexécutez un fichier maven install
.
Je suis désolé, je ne sais pas pourquoi vous obtenez le message d'erreur. Cependant, j'utilise Java 7 et Windows 10 et la solution pour moi était d'utiliser temporairement Java 8 en modifiant la JAVA_HOME
variable d'environnement. Ensuite, je pourrais exécuter mvn install
et récupérer à partir du référentiel central Maven.
Notez que si vous utilisez IBM JDK, vous devrez peut-être également définir
com.ibm.jsse2.overrideDefaultTLS=true
En utilisant jdk7-u221, j'ai dû installer l'extension de cryptographie Java (JCE)