0

セキュリティ証明書をインストールしましたが、問題があります。コードを実行すると

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、証明書を無視しているようです。

誰かがなぜこれが起こるのか説明できますか?

ありがとうございました。

4

1 に答える 1

0

これを見たことがありますか ?

https://blogs.oracle.com/gc/entry/unable_to_find_valid_certification

http://nodsw.com/blog/leeland/2006/12/06-no-more-unable-find-valid-certification-path-requested-target

これで問題が解決します

于 2012-07-24T12:54:22.580 に答える