无法在spring boot jar中访问truststore文件:trustAnchors参数必须为非空

时间:2017-11-20 20:51:28

标签: spring spring-boot classpath truststore

我已经使用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.

1 个答案:

答案 0 :(得分:0)

只需使用truststore文件位置设置系统属性或提及src / main / resources就无济于事了。而是在应用程序中创建临时文件并将truststore文件的内容复制到它。然后通过获取其get路径在系统属性中设置该文件。这样就不需要硬编码路径或使用替代的类路径。

Details can be found here.感谢avasseur-pivotal。