如何使用资源路径 [Jira 插件,OSGI] 设置系统 属性

How to set system property with path of resource [Jira plugin, OSGI]

我想使用 System.setProperty("javax.net.ssl.trustStore", path),其中路径指向项目资源中的 jks 证书。问题是我的项目是 jira 插件,它使用 OSGI。当我使用 getClass.getResource("certificate.jks") 时,我得到 path = "bundle://..." 然后找不到证书。我也试着把 "/certificate.jks" 放在那里,但它也没有用。

你有解决这个问题的想法吗?预先感谢您的任何想法!

一种解决方案是使用 Bundle.getEntry("path/to/your/trust/store/file/relative/tobundle/root") 然后执行 toURI 以获取一个您可以打开的文件并获取字符串值,然后使用该值设置系统 属性 你在问题中提到。 Bundle.getResource 方法将搜索 class 其他导入包的路径。如果这不起作用,那么尝试执行 Bundle.getClassLoader() 来加载你想要的资源,因为你可能会得到一个不同的 class 加载器,因为每个包都使用它们自己的。希望这能回答你的问题。