无法访问 spring 引导 jar 中的信任库文件:trustAnchors 参数必须为非空

Unable to reach truststore file with in spring boot jar: trustAnchors parameter must be non-empty

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

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

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