Acabei de instalar o 17.10 em uma VM nova. Tentando configurar um ambiente de desenvolvimento, quando executo gradle
ou ./gradlew
recebo o seguinte erro:
* 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
Isso é independente da versão gradle, da versão java (openjdk e oracle 8 e 9 têm a falha) e da versão shadowjar. Isso me leva à conclusão de que está relacionado ao Ubuntu, em vez de relacionado ao gradle / openjdk / oracle.
Tentei atualizar os certificados da CA, ambos sudo update-ca-certificates -f
e sudo apt install ca-certificates-java --reinstall
, nenhum dos quais resolve o problema. Eu até voltei para o experimentado e testado, desligue e ligue novamente a técnica sem afetar.
Qual é o problema e como corrigi-lo?
openjdk-8-jdk
não funcionou para mim. Alguma idéia de como você conseguiu isso? Eu executei umautoremove
antes da instalaçãoopenjdk-8-jdk
e depoisopenjdk-9-jdk
, mas essa é a única coisa que poderia ter sido diferente do que você disse.Respostas:
Reinstalei tudo usando o apt-get e isso não resolveu o problema.
A solução que achei funcionar: Vá para o Oracle e faça o download da versão tar.gz do jdk-8. Em seguida, copie o arquivo cacerts para / etc / ssl / certs / java / cacerts
fonte
cacerts
instalado com o OpenJDK 9 no Ubuntu 17.10 não parece estar vazio (é maior que o anterior), apenas não funciona.jdk-10.0.1_linux-x64_bin.tar.gz
. Você encontra ocacerts
emjdk-10.0.1/lib/security/cacerts
Também deparei com esse problema ao tentar configurar a ferramenta scala build tool (sbt) na minha nova instalação 17.10.
Minha solução foi limpar:
(Apenas limpar e reinstalar o jdk não foi suficiente, eu ainda tinha um
java
comando depois disso. Somente removendojava-common
isso também desapareceu e a reinstalação funcionou. Suponho que ele esteja relacionado aoca-certificates-java*
pacote, que é eliminadojava-common
.)Depois, reinstalei o java novamente (optei apenas pelo openjdk-9):
Isso desencadeou:
Running hooks in /etc/ca-certificates/update.d...
e adicionou muitos arquivos cert. Agora meu sbt construído foi bem sucedido:fonte
Eu reinstalei tudo do zero novamente e esse problema desapareceu. Tudo o que fiz de maneira diferente foi instalar
openjdk-8-jdk
antes da instalaçãoopenjdk-9-jdk
.Funciona. Existem problemas de dependência estranhos?
fonte
openjdk-9-jdk
, então 8. Desinstalei os dois e refiz 8 - depois - 9. Também sempre continuei correndosudo update-ca-certificates -f
. Não era de manhã e hoje comecei a baixar o Oracle JDK. Antes de terminar, descobri os trabalhos do openjdk e o gradle puxa com êxito.java-common
. Presumo que o problema foi instalado incorretamenteca-certificates-java
; esse também é removido com java commons e na reinserção cria um monte de arquivos pem. A instalação do openjdk-8 não é necessária.Copiei um arquivo / etc / ssl / certs / java / cacerts de um backup de uma instalação mais antiga. Se você tem algo assim, provavelmente é a opção mais fácil. Apenas certifique-se de fazer backup do arquivo cacerts original, caso tenha problemas com outros aplicativos.
fonte
O Oracle alterou o formato do arquivo cacerts (de JKS para PCKS12), o JDK padrão incluído no Ubuntu já usa o PCKS12, mas você provavelmente está usando um JDK mais antigo que não é capaz de lê-lo. Eu converti meu arquivo keystore para JKS usando o keytool. É por isso que a solução alternativa para copiar uma mais antiga funciona para outras pessoas e por que sua resposta aceita também funciona.
fonte