Ricevo gli errori seguenti quando mi collego a Maven Central / https://repo1.maven.org dopo il 18 giugno 2018.
Received fatal alert: protocol_version
o
Received fatal alert: peer not authenticated
Ricevo gli errori seguenti quando mi collego a Maven Central / https://repo1.maven.org dopo il 18 giugno 2018.
Received fatal alert: protocol_version
o
Received fatal alert: peer not authenticated
Risposte:
Soluzione 1: configura Java 7
È necessario abilitare il protocollo TLS 1.2 con proprietà Java nella riga di comando
mvn -Dhttps.protocols=TLSv1.2 install
install
è solo un esempio di obiettivo
Lo stesso errore per ant
può essere risolto in questo modo
java -Dhttps.protocols=TLSv1.2 -cp %ANT_HOME%/lib/ant-launcher.jar org.apache.tools.ant.launch.Launcher
Soluzione 2: utilizzare Java 7 con Oracle Advanced Support
Inoltre, il problema può essere risolto aggiornando la versione di Java 7. Ma l'ultima versione disponibile ( 7u80
) non risolve il problema. È necessario utilizzare un aggiornamento fornito con Oracle Advanced Support (precedentemente noto come Java for Business).
Soluzione 3: utilizzare invece Java 8
Configurare $JAVA_HOME
per puntare a Java 8.
sbt -Dhttps.protocols=TLSv1.2 instal
ma non funziona
-Dhttps.protocols=TLSv1.2
. Quindi devi trovare come passare i parametri java in SBT.
Nel giugno 2018, nel tentativo di aumentare la sicurezza e conformarsi agli standard moderni, i protocolli TLS 1.0 e 1.1 non sicuri non saranno più supportati per le connessioni SSL a Central. Ciò dovrebbe interessare solo gli utenti di Java 6 (e Java 7) che utilizzano anche https per accedere a central, che secondo le nostre metriche è inferiore allo 0,2% degli utenti.
Per maggiori dettagli e soluzioni alternative, consultare il blog e le domande frequenti qui: https://blog.sonatype.com/enhancing-ssl-security-and-http/2-support-for-central
Il seguente comando mi ha aiutato (eseguendo su bash prima di eseguire mvn)
export MAVEN_OPTS=-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
Come detto @ v.ladynev, funziona con JDK 1.7
Con Eclipse, per essere in grado di eseguire un "Esegui come" maven install
con il parametro della riga di comando TLS, configura semplicemente il JDK che stai utilizzando.
Aprire la finestra di dialogo tramite Finestra > Preferenze > Java > JRE installati .
Quindi evidenzia quello che stai utilizzando (dovrebbe essere un JDK , non un JRE ), fai clic su Modifica . Nel campo "Argomenti VM predefiniti", inserisci il valore -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
. Come mostrato di seguito:
Pulisci il progetto (forse facoltativo), quindi esegui nuovamente a maven install
.
Mi dispiace, non so perché ricevi il messaggio di errore. Tuttavia, sto usando Java 7 e Windows 10 e la soluzione per me era usare temporaneamente Java 8 cambiando la JAVA_HOME
variabile d'ambiente. Quindi ho potuto eseguire mvn install
e recuperare da Maven Central Repository.
Si noti che se si utilizza IBM JDK potrebbe essere necessario impostare anche
com.ibm.jsse2.overrideDefaultTLS=true
Usando jdk7-u221, dovevo installare Java Cryptography Extension (JCE)