web-dev-qa-db-ja.com

17.10 openjdkおよびOracle jdk 8および9 trustAnchorsパラメータは空でない必要があります

新しい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 -fSudo apt install ca-certificates-Java --reinstallの両方のCA証明書を更新しようとしましたが、どちらも問題を解決しませんでした。私は試してみて、テストを有効にして、それをオフにしてから再びオンにする方法にさえ戻りました。

問題は何ですか?どうすれば修正できますか?

21
amb85

すべてを最初から再インストールしましたが、この問題はなくなりました。異なる方法で行ったのは、openjdk-8-jdkをインストールする前にopenjdk-9-jdkをインストールすることだけでした。

できます。奇妙な依存関係の問題はありますか?

4
amb85

Apt-getを使用してすべてを再インストールしましたが、問題は解決しませんでした。

動作することがわかったソリューション:Oracleに移動して、jdk-8のtar.gzバージョンをダウンロードします。次に、cacertsファイルをそのファイルから/ etc/ssl/certs/Java/cacertsにコピーします

22
Tyler Ruppert

古いインストールのバックアップから/ etc/ssl/certs/Java/cacertsファイルをコピーしました。そのようなものをお持ちの場合は、おそらく最も簡単なオプションです。他のアプリケーションで問題が発生した場合に備えて、元のcacertsファイルを必ずバックアップしてください。

1
smakks

Oracleはcacertsファイルの形式を変更しました(JKSからPCKS12)。Ubuntuに含まれるデフォルトのJDKはすでにPCKS12を使用していますが、おそらくそれを読み取れない古いJDKを使用しています。 keytoolを使用してキーストアファイルをJKSに変換しました。それが、古いものをコピーする回避策が他の人にとってうまくいく理由であり、あなたの受け入れられた答えもうまくいく理由です。

1