Sono la creazione di un ambiente di sviluppo su una macchina ARM, con le seguenti versioni di Java e Maven, sia installato tramite apt-get
:IllegalStateException lanciata da Maven (? SSL-correlati) durante il download dipendenze del progetto
(xenial)[email protected]:~$ mvn -version
Apache Maven 3.3.9
Maven home: /usr/share/maven
Java version: 1.8.0_91, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-8-openjdk-armhf/jre
Default locale: en_US, platform encoding: ANSI_X3.4-1968
OS name: "linux", version: "3.14.0", arch: "arm", family: "unix"
(xenial)[email protected]:~$ java -version
openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-0ubuntu4~16.04.1-b14)
OpenJDK Zero VM (build 25.91-b14, interpreted mode)
Tuttavia, quando eseguo un mvn clean install
sul mio progetto, fallisce il tentativo di scaricare un file POM che esiste . (Posso visitare nel mio browser.)
Lo stacktrace è abbastanza grande, ma la radice sembra essere:
Caused by: java.lang.IllegalStateException
at sun.security.ec.ECDHKeyAgreement.deriveKey(Native Method)
at sun.security.ec.ECDHKeyAgreement.engineGenerateSecret(ECDHKeyAgreement.java:130)
at sun.security.ec.ECDHKeyAgreement.engineGenerateSecret(ECDHKeyAgreement.java:163)
at javax.crypto.KeyAgreement.generateSecret(KeyAgreement.java:648)
at sun.security.ssl.ECDHCrypt.getAgreedSecret(ECDHCrypt.java:101)
at sun.security.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:1067)
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:348)
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979)
at sun.security.ssl.Handshaker.process_record(Handshaker.java:914)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
C'è, purtroppo, non è molto di più ad esso - Maven fallisce con:
Caused by: org.eclipse.aether.resolution.ArtifactDescriptorException: Failed to read artifact descriptor for org.jacoco:jacoco-maven-plugin:jar:0.7.6.201602180812
E lo stack termina con l'eccezione generata in deriveKey()
. Mi manca qualche libreria crittografica sulla mia macchina?
Questa è una nuova installazione di Xenial (16.04 LTS).
Ciao @JohnRichardson - Ho risolto il problema passando semplicemente a Oracle JDK. Non ho mai capito quale fosse il problema di root, ma in origine stavo scegliendo OpenJDK a causa della sua versione aggiornata (e di facile installazione) dal gestore pacchetti. Ho finito per installare la versione Oracle manualmente, direttamente dal loro sito web. –