Я только что установил 17.10 в новой виртуальной машине. Попытка настроить среду разработки, когда я запускаю gradle
или ./gradlew
получаю следующую ошибку:
* 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
Это не зависит от версии gradle, версии java (и openjdk, и oracle 8 и 9 имеют ошибку) и версии shadowjar. Это приводит меня к выводу, что это связано с Ubuntu, а не с gradle / openjdk / oracle.
Я попытался обновить сертификаты CA, sudo update-ca-certificates -f
и sudo apt install ca-certificates-java --reinstall
ни один из них не решает проблему. Я даже вернулся к проверенной и проверенной методике, не включая и не выключая ее снова.
В чем проблема и как мне это исправить?
openjdk-8-jdk
не работает для меня. Есть идеи, как у вас получилось? Я запустил егоautoremove
перед установкойopenjdk-8-jdk
и затемopenjdk-9-jdk
, но это единственное, что могло бы отличаться от того, что вы сказали.Ответы:
Я переустановил все, используя apt-get, и это не решило проблему.
Решение, которое я нашел работать: зайдите в Oracle и загрузите версию tar.gz jdk-8. Затем скопируйте файл cacerts из этого в / etc / ssl / certs / java / cacerts
источник
cacerts
установленный с OpenJDK 9 на Ubuntu 17.10 не кажется пустым (он больше, чем старый), он просто не работает.jdk-10.0.1_linux-x64_bin.tar.gz
. Вы найдетеcacerts
вjdk-10.0.1/lib/security/cacerts
Я также столкнулся с этой проблемой, пытаясь настроить инструмент сборки scala (sbt) на моей новой установке 17.10.
Мое решение было очистить:
(Просто очистки и переустановки jdk было недостаточно,
java
после этого у меня все еще была команда. Только очистка,java-common
которая также прошла, и затем переустановка сработала. Я предполагаю, что это относится кca-certificates-java*
пакету, который очищаетсяjava-common
.)После этого я переустановил Java снова (я выбрал только openjdk-9):
Это вызвало:
Running hooks in /etc/ca-certificates/update.d...
и добавил много файлов сертификатов. Теперь мой sbt построен успешно:источник
Я переустановил все заново, и эта проблема исчезла. Все, что я сделал по-другому, это установил
openjdk-8-jdk
перед установкойopenjdk-9-jdk
.Оно работает. Есть ли какие-то странные проблемы с зависимостями?
источник
openjdk-9-jdk
, затем 8. Я удалил оба и переделал его 8 - затем - 9. Я также всегда продолжал работатьsudo update-ca-certificates -f
. Было не утро, и сегодня я начал скачивать Oracle JDK. До того, как он закончился, я обнаружил, что openjdk работает и успешно работает.java-common
. Я предполагаю, что проблема была неправильно установленаca-certificates-java
; он также удаляется с помощью java commons, и при повторной установке создает кучу файлов pem. Установка openjdk-8 не требуется.Я скопировал файл / etc / ssl / certs / java / cacerts из резервной копии более старой установки. Если у вас есть что-то подобное, это, вероятно, самый простой вариант. Просто сделайте резервную копию исходного файла cacerts на случай, если у вас возникнут проблемы с другими приложениями.
источник
Oracle изменил формат файла cacerts (с JKS на PCKS12), по умолчанию включенный JDK в Ubuntu уже использует PCKS12, но вы, вероятно, используете более старый JDK, который не может его прочитать. Я преобразовал свой файл хранилища ключей в JKS, используя keytool. Вот почему обходной путь для копирования старого работает для других людей, и почему ваш принятый ответ также работает.
источник