我安装了安全证书,但遇到了问题。当我用运行代码时
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
这将解决您的问题