セキュリティ証明書をインストールしましたが、問題があります。コードを実行すると
mvn exec:java -Dexec.mainClass="com.myproject.MyClass"
それは正常に動作します。しかし、JARにパッケージ化して実行しようとすると、次のようになります。
java -jar MyProject.jar
私は
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(Unknown Source)
at sun.security.validator.PKIXValidator.engineValidate(Unknown Source)
at sun.security.validator.Validator.validate(Unknown Source)
at sun.security.ssl.X509TrustManagerImpl.validate(Unknown Source)
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(Unknown Source)
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
... 32 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source)
at java.security.cert.CertPathBuilder.build(Unknown Source)
... 38 more
私はjarファイルを作成します:
mvn clean install jar:jar
jar と同じレベルに というディレクトリがありlib
、その中lib
にすべての依存関係があります。依存関係は jar の MANIFEST.MF ファイルに追加されました。それらのパスは正しく、行は長すぎません (各行に 1 つの依存関係)。
Maven と Java は同じ JDK を使用します。通常、それらはクラスパスにも同じ依存関係を持つ必要があります。しかしjava -jar
、証明書を無視しているようです。
誰かがなぜこれが起こるのか説明できますか?
ありがとうございました。