web-dev-qa-db-fra.com

Pourquoi ai-je le message "Alerte irrécupérable reçue: version_protocole" ou "homologue non authentifié" de Maven Central?

Je reçois les erreurs ci-dessus lors de la connexion à Maven Central/ https://repo1.maven.org après le 18 juin 2018.

76
Brian Fox

Il peut être résolu pour 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 façon

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

Mise à jour de la version Java 7

Un problème peut également être résolu en mettant à jour 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 fournie avec Oracle Advanced Support (anciennement Java for Business).

87
v.ladynev

En juin 2018, afin de renforcer 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 concerner que les utilisateurs de Java 6 (et Java 7) qui utilisent également https pour accéder à central, qui, selon nos indicateurs, représente moins de 0,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

55
Brian Fox

La commande suivante m'a aidé (s'exécutant sur bash avant d'exécuter mvn)

export MAVEN_OPTS=-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
24

Comme sais @ v.ladynev, cela fonctionne avec JDK 1.7

Avec Eclipse, pour pouvoir exécuter un "Run As" maven install avec le paramètre de ligne de commande TLS, configurez simplement le JDK que vous utilisez.

Ouvrez la boîte de dialogue à l'aide de Fenêtre> Préférences> Java> JRE installés.

Puis mettez en surbrillance celui que vous utilisez (ce devrait être un JDK, pas un JRE), cliquez sur Edit. Dans le champ "Arguments par défaut VM", renseignez la valeur -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2. Comme indiqué ci-dessous:

 enter image description here

Nettoyez le projet (éventuellement facultatif), puis exécutez à nouveau un maven install.

9
Amessihel

Je suis désolé, je ne sais pas pourquoi vous recevez le message d'erreur. Cependant, j'utilise Java 7 et Windows 10 et la solution pour moi consistait à utiliser temporairement Java 8 en modifiant la variable d'environnement Java_HOME. Ensuite, je pourrais exécuter mvn install et récupérer à partir du référentiel central Maven.

3
propatience