证书问题:mvn-exec:java看到了,java-jar没有



我安装了安全证书,但遇到了问题。当我用运行代码时

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似乎忽略了证书。

有人能解释为什么会发生这种情况吗?

谢谢。

你看到这个了吗?

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

这将解决您的问题

最新更新