java 从另一个 class 加载器加载的 class 访问资源文件
java access resource files from class loaded by another classloader
我有一个 class 需要做一些 https 请求。
以防未设置 ssl 信任库和密钥库,包含我的 class 的 jar 将它们放在其资源文件夹中。
我的 class 正在被一些我无法控制的 classloader 动态加载,现在当我这样做时
getClass().getClassLoader().getResourceAsStream("keystore.jks");
找不到资源。
我的理论是 getClassLoader
returns classloader returns 来自网络服务器的 classloader,它可能无法找到资源 keystore.jks
在 jar 文件中。
感谢任何帮助。
我找到了解决问题的方法。我可以使用 MyClass.class.getResourceAsStream("/keystore.jks");
正确加载资源。
我不确定为什么它会起作用。
当我使用 MyClass.class.getClassLoader().getResourceAsStream("keystore.jks");
它没有用。尽管我想我在某处读到 Class.getResource()
有前导 /
和没有前导 ClassLoader.getResource()
是一样的。
我有一个 class 需要做一些 https 请求。
以防未设置 ssl 信任库和密钥库,包含我的 class 的 jar 将它们放在其资源文件夹中。
我的 class 正在被一些我无法控制的 classloader 动态加载,现在当我这样做时
getClass().getClassLoader().getResourceAsStream("keystore.jks");
找不到资源。
我的理论是 getClassLoader
returns classloader returns 来自网络服务器的 classloader,它可能无法找到资源 keystore.jks
在 jar 文件中。
感谢任何帮助。
我找到了解决问题的方法。我可以使用 MyClass.class.getResourceAsStream("/keystore.jks");
正确加载资源。
我不确定为什么它会起作用。
当我使用 MyClass.class.getClassLoader().getResourceAsStream("keystore.jks");
它没有用。尽管我想我在某处读到 Class.getResource()
有前导 /
和没有前导 ClassLoader.getResource()
是一样的。