这个问题很棘手。我试图通过LDAPS将我的战争文件连接到活动目录。当使用IntelliJ IDEA的调试模式运行时,代码运行良好。
当我在同一台或不同的机器上安装战争文件时,遇到此错误。
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
证书是自签名的。我在truststore.jks
中添加了CA.crt,在cacerts
中添加了LDAP.cer。我也尝试添加"jssecacerts",但结果相同。
注意:我使用的是Apache Shiro框架。
如何避免此错误?为什么它没有进入调试模式?
这不是四郎的问题。 这是您的证书有问题。 我怀疑您的 IDE 使用的 Java 安装可能与您部署的 WAR 执行位置不同。
此异常之前已处理 如何忽略 PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException?。
另外,我发现这篇文章很有用 PKIX 路径构建失败:SunCertPathBuilderException:找不到请求目标的有效证书路径。
肯定是证书的问题。对我有用的事情是,将所需的证书放在 C -> 程序文件> java -> jre -> lib ->安全位置。在此位置粘贴证书后,构建成功
如果您使用的是VPN或转发代理,则只需将代理的证书添加到Java cacerts即可。
查看此答案以了解如何执行此操作。https://stackoverflow.com/a/9619478/4144572