新しいVMに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バージョンに関係ありません。これは、gradle/openjdk/Oracle関連ではなく、Ubuntu関連であるという結論に至ります。
Sudo update-ca-certificates -f
とSudo apt install ca-certificates-Java --reinstall
の両方のCA証明書を更新しようとしましたが、どちらも問題を解決しませんでした。私は試してみて、テストを有効にして、それをオフにしてから再びオンにする方法にさえ戻りました。
問題は何ですか?どうすれば修正できますか?
すべてを最初から再インストールしましたが、この問題はなくなりました。異なる方法で行ったのは、openjdk-8-jdk
をインストールする前にopenjdk-9-jdk
をインストールすることだけでした。
できます。奇妙な依存関係の問題はありますか?
Apt-getを使用してすべてを再インストールしましたが、問題は解決しませんでした。
動作することがわかったソリューション:Oracleに移動して、jdk-8のtar.gzバージョンをダウンロードします。次に、cacertsファイルをそのファイルから/ etc/ssl/certs/Java/cacertsにコピーします
古いインストールのバックアップから/ etc/ssl/certs/Java/cacertsファイルをコピーしました。そのようなものをお持ちの場合は、おそらく最も簡単なオプションです。他のアプリケーションで問題が発生した場合に備えて、元のcacertsファイルを必ずバックアップしてください。
Oracleはcacertsファイルの形式を変更しました(JKSからPCKS12)。Ubuntuに含まれるデフォルトのJDKはすでにPCKS12を使用していますが、おそらくそれを読み取れない古いJDKを使用しています。 keytoolを使用してキーストアファイルをJKSに変換しました。それが、古いものをコピーする回避策が他の人にとってうまくいく理由であり、あなたの受け入れられた答えもうまくいく理由です。