我通过发出以下命令将我的CER文件添加到我的密钥库:
"keytool -import -storepass [insert store pass] -noprompt -alias [insert alias] -keystore "[insert directory]\Java\jre1.8.0_45\lib\security\cacerts" -trustcacerts -file [insertname].cer"
我正在尝试在Java应用程序中进行REST调用。当我在Eclipse中运行应用程序但我在NetBeans中运行相同的应用程序时,我的REST调用有效,我收到以下错误消息,这意味着我没有将CER文件添加到密钥库:
"PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target"
我直接将应用程序从NetBeans复制到Eclipse以缩小问题范围,它在Eclipse中运行得非常好,所以我认为它不是编码问题,而是NetBeans中的某个配置问题。任何人都知道如何解决这个问题?为什么应用程序在Eclipse中工作但在NetBeans中不工作?我一直试图环顾四周但找不到任何东西。
如果它也有用,我正在使用Maven Java Application项目。
仅供参考:我使用的是NetBeans IDE 8.2补丁2。
答案 0 :(得分:1)
您需要确保从NetBeans运行的应用程序使用相同的JDK。
检查项目库中引用的JDK 或者确保使用正确的JDK启动NEtbeans本身。
OP dunce1确认in the comments并非如此:
看起来NetBeans在JDK中使用JRE环境,而Eclipse正在使用非JDK JRE环境进行运行时