Acabo de instalar 17.10 en una VM nueva. Intento configurar un entorno de desarrollo cuando ejecuto gradle
o aparece ./gradlew
el siguiente error:
* What went wrong:
Error resolving plugin [id: 'com.github.johnrengelman.shadow', version: '2.0.0']
> Could not GET 'https://plugins.gradle.org/api/gradle/4.0/plugin/use/com.github.johnrengelman.shadow/2.0.0'.
> java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
Esto es independiente de la versión gradle, la versión java (tanto openjdk como Oracle 8 y 9 tienen la falla) y la versión shadowjar. Esto me lleva a la conclusión de que está relacionado con Ubuntu en lugar de estar relacionado con gradle / openjdk / oracle.
He intentado actualizar los certificados de CA, ambos sudo update-ca-certificates -f
y sudo apt install ca-certificates-java --reinstall
ninguno de los dos resuelve el problema. Incluso volví a la técnica probada y comprobada, apáguelo y enciéndalo nuevamente sin ningún efecto.
¿Cuál es el problema y cómo lo soluciono?
openjdk-8-jdk
no funcionó para mí. ¿Alguna idea de cómo funciona esto? Ejecuté unautoremove
antes de instalaropenjdk-8-jdk
y luegoopenjdk-9-jdk
, pero eso es lo único que podría haber sido diferente de lo que dijiste.Respuestas:
Reinstalé todo usando apt-get y eso no resolvió el problema.
La solución que encontré funciona: vaya a Oracle y descargue la versión tar.gz de jdk-8. Luego copie el archivo cacerts de eso en / etc / ssl / certs / java / cacerts
fuente
cacerts
instalado con OpenJDK 9 en Ubuntu 17.10 no parece estar vacío (es más grande que el anterior), simplemente no funciona.jdk-10.0.1_linux-x64_bin.tar.gz
. A encontrar elcacerts
enjdk-10.0.1/lib/security/cacerts
También me encontré con este problema al intentar configurar la herramienta de compilación scala (sbt) en mi nueva instalación 17.10.
Mi solución fue purgar:
(Solo purgar y reinstalar el jdk no fue suficiente, aún tenía un
java
comando después de eso. Solo al purgarjava-common
eso también desapareció y luego la reinstalación funcionó. Supongo que se relaciona con elca-certificates-java*
paquete, que se purgajava-common
).Luego, reinstalé java nuevamente (opté solo por openjdk-9):
Esto desencadenó:
Running hooks in /etc/ca-certificates/update.d...
y agregó muchos archivos cert. Ahora mi sbt construido fue exitoso:fuente
He reinstalado todo desde cero nuevamente y este problema ha desaparecido. Todo lo que hice diferente fue instalar
openjdk-8-jdk
antes de instalaropenjdk-9-jdk
.Funciona. ¿Hay algún problema de dependencia extraño?
fuente
openjdk-9-jdk
, luego 8. Desinstalé ambos y lo volví a hacer 8 - luego - 9. También siempre seguí corriendosudo update-ca-certificates -f
. No era de mañana y hoy comencé a descargar Oracle JDK. Antes de que terminara descubrí que OpenJDK funciona y Gradle tira con éxito.java-common
. Supongo que el problema se instaló incorrectamenteca-certificates-java
; ese se elimina también con java commons y en la reinsallación crea un montón de archivos pem. No es necesario instalar openjdk-8.Copié un archivo / etc / ssl / certs / java / cacerts de una copia de seguridad de una instalación anterior. Si tienes algo así, probablemente sea la opción más fácil. Solo asegúrese de hacer una copia de seguridad del archivo cacerts original en caso de que tenga problemas con otras aplicaciones.
fuente
Oracle cambió el formato del archivo cacerts (de JKS a PCKS12), el JDK incluido por defecto en Ubuntu ya usa el PCKS12, pero probablemente esté usando un JDK anterior que no puede leerlo. Convertí mi archivo de almacén de claves a JKS usando la herramienta de claves. Es por eso que la solución alternativa para copiar una anterior funciona para otras personas, y por qué su respuesta aceptada también funciona.
fuente