157 votes

Pourquoi est-ce que j'obtiens "Alerte fatale reçue: version_protocole" ou "homologue non authentifié" de Maven Central?

Je reçois 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
 

231voto

v.ladynev Points 10855

Solution 1: configuration de Java 7

Il est nécessaire d'activer TLS 1.2 protocole avec Java propriété dans la ligne de commande

mvn -Dhttps.protocols=TLSv1.2 install

install est juste un exemple d'un objectif

La même erreur pour ant peut être résolu de cette manière

java -Dhttps.protocols=TLSv1.2 -cp %ANT_HOME%/lib/ant-launcher.jar org.apache.tools.ant.launch.Launcher

Solution 2: utilisation de Java 7 avec Oracle Support Avancé

Aussi problème peut être résolu par la mise à jour de la version de 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 fourni avec Oracle Support Avancé (anciennement connu sous le Java pour les Entreprises).

Solution 3: utiliser Java 8 à la place

Configurer $JAVA_HOME de point de Java 8.

69voto

Brian Fox Points 3068

En juin 2018, dans un effort pour élever le niveau de sécurité et de se conformer aux normes modernes, l'insécurité TLS 1.0 et 1.1 protocoles ne seront plus pris en charge pour les connexions SSL Centrale. Cela ne devrait affecter les utilisateurs de la version 6 de Java (Java et 7) qui sont également en utilisant le protocole https pour l'accès central, qui par nos systèmes de mesure est inférieure à .2% des utilisateurs.

Pour plus de détails et des solutions de contournement, voir le blog et la faq ici: https://blog.sonatype.com/enhancing-ssl-security-and-http/2-support-for-central

58voto

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
 

21voto

Amessihel Points 1483

Comme l'a dit @v. ladynev, il fonctionne avec JDK 1.7

Avec Eclipse, pour être en mesure d'effectuer une "Exécuter en tant Que" maven install avec le protocole TLS paramètre de ligne de commande, il suffit de configurer le JDK que vous utilisez.

Ouvrez la boîte de dialogue par le biais de la Fenêtre > Préférences > Java > Installé Jre.

Ensuite, mettez en surbrillance celui que vous utilisez (ce qui devrait être un JDK, pas un JRE), cliquez sur Modifier. Dans le champ "Default VM arguments", remplissez la valeur -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2. Comme indiqué ci-dessous:

enter image description here

Nettoyez le projet (peut-être en option), puis de le ré-exécuter une maven install.

6voto

propatience Points 73

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 variable d'environnement JAVA_HOME . Ensuite, je pouvais exécuter mvn install et récupérer à partir du référentiel central Maven.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X