Я только что установил 17.10 в новом VM. Попытка настроить среду разработки, когда я работаю 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 и оракула 8 и 9 есть отказ), и shadowjar версия. Это приводит меня к заключению, что это - связанная Ubuntu, а не связанный gradle/openjdk/oracle.
Я попытался обновить сертификаты CA, обоих sudo update-ca-certificates -f
и sudo apt install ca-certificates-java --reinstall
, ни один из которых не решает проблему. Я даже вернулся к проверенному на практике повороту он прочь и на снова технике без влияния.
Какова проблема и как я фиксирую ее?
Я переустановил все с нуля снова, и эта проблема исчезла. Все, что я сделал по-другому, было установкой openjdk-8-jdk
до установки openjdk-9-jdk
.
Работает. Есть ли какие-либо странные проблемы зависимости?
Я переустановил все с помощью склонного - добираются, и это не решило проблему.
Решение, которое я нашел для работы: Перейдите к Oracle и загрузите tar.gz версию jdk-8. Затем скопируйте cacerts файл с этого в/etc/ssl/certs/java/cacerts
Я скопировал/etc/ssl/certs/java/cacerts файл с резервного копирования более старой установки. Если у Вас есть что-то как этот, это - вероятно, самая легкая опция. Просто удостоверьтесь, что скопировали исходный cacerts файл в случае, если Вы сталкиваетесь с проблемой с другими приложениями.
Я столкнулся с этой проблемой также при попытке настроить инструмент сборки scala (система онлайн бронирования) на моих новых 17,10 установках.
Мое решение состояло в том, чтобы произвести чистку:
sudo apt purge openjdk-9-jdk openjdk-8-jdk java-common
(Просто чистка и переустановка jdk были недостаточно, у меня все еще был a java
команда после этого. Только путем чистки java-common
это также ушло, и затем переустановка работала. Я предполагаю, что это касается ca-certificates-java*
пакет, который очищен java-common
.)
Впоследствии, я переустановил Java снова (я выбрал только openjdk-9):
sudo apt install openjdk-9-jdk
Это инициировало: Running hooks in /etc/ca-certificates/update.d...
и добавил много файлов сертификата. Теперь моя созданная система онлайн бронирования была успешна:
$ sbt
Getting org.scala-sbt sbt 1.1.0 (this may take some time)...
downloading https://repo1.maven.org/maven2/org/scala-sbt/sbt/1.1.0/sbt-1.1.0.jar ...
[SUCCESSFUL ] org.scala-sbt#sbt;1.1.0!sbt.jar (657ms)
downloading https://repo1.maven.org/maven2/org/scala-sbt/main_2.12/1.1.0/main_2.12-1.1.0.jar
...
Oracle изменила формат cacerts файла (от JKS до PCKS12), значение по умолчанию включало JDK в Ubuntu, уже использует PCKS12, но Вы, вероятно, используете более старый JDK, который не может считать его. Я преобразовал свой keystore файл в JKS использование keytool. Вот почему обходное решение для копирования более старого работает на других людей, и почему принятый ответ работает также.