我已经使用trustore设置了我的应用程序,并且在我的本地部署中运行良好。但是,当我通过生成的jar进行部署时,它会失败。那是因为我喜欢它,
System.setProperty("javax.net.ssl.trustStore", "src/main/resources/cacert");
但我的jar有结构,/ BOOT-INF / classes / cacert。虽然我将系统属性更改为,
System.setProperty("javax.net.ssl.trustStore", "BOOT-INF/classes/cacert");
由于这个原因我没有达到要求
trustAnchors parameter must be non-empty error.
答案 0 :(得分:0)
只需使用truststore文件位置设置系统属性或提及src / main / resources就无济于事了。而是在应用程序中创建临时文件并将truststore文件的内容复制到它。然后通过获取其get路径在系统属性中设置该文件。这样就不需要硬编码路径或使用替代的类路径。
Details can be found here.感谢avasseur-pivotal。