![Java は cacerts を見つけることができません](https://rvso.com/image/898939/Java%20%E3%81%AF%20cacerts%20%E3%82%92%E8%A6%8B%E3%81%A4%E3%81%91%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93.png)
Java 開発環境をセットアップしようとしましたが、うまくいきませんopenjdk-8-jdk
でした。インストールしましたが、java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
(Android の sdkmanager を実行しているときに) エラーが続きます。cacerts ファイルを更新しようとしましたが、sudo update-ca-certificates --fresh
うまくいきませんでした。/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts
確かに を指しています/etc/ssl/certs/java/cacerts
が、Java はまだ証明書を見つけられないのでしょうか?
答え1
次のコマンドを実行します。
sudo dpkg --purge --force-depends ca-certificates-java
sudo apt-get install ca-certificates-java
私にとってはうまくいきました。
答え2
私もまったく同じ問題を抱えていました。Java8の古いCA証明書を新しいOpenJDK11にリンクしました。ディレクトリに移動します -
cd $(/usr/libexec/java_home -v 11)/lib/security
sudo ln -fsh /Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/jre/lib/security/cacerts
私が目にしているのは、人々が古いバージョンの Java をインストールし、cacerts をリンクしているということです。
答え3
元のファイルをコピーして動作しました
sudo cp cacerts.original cacerts