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

我用以下方法创建罐子:

mvn clean install jar:jar

在与 jar 相同的级别上,我有一个名为 的目录lib,其中lib包含所有依赖项。依赖项已添加到我的 jar 中的 MANIFEST.MF 文件中,它们的路径是正确的,行不会太长(每行一个依赖项)。

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 回答