URLClassLoader没有加载资源

时间:2017-05-10 16:53:42

标签: java exception jar classloader urlclassloader

我编写了一个程序来管理一个以jar形式提供的插件。

我使用URLClassLoader加载插件类,它按预期工作。 我添加了一些存储在插件jar中的资源(XML文件)。

如果我调用一个不使用资源的方法,一切正常,但如果我调用一个使用资源的方法,我会得到一个FileNotFoundException

1 个答案:

答案 0 :(得分:0)

您的插件jar文件中打包的资源由URLClassLoader加载。因此,要访问这些资源,您应该使用该特定URLClassLoader实例加载它们。

例如:

URL[] urls = ...//urls to jar classes and resources
URLClassLoader uClassLoader = new URLClassLoader(urls);
Class loadedClass = uClassLoader.loadClass("CLASS_NAME");

要获取jar中的资源,

loadedClass.getClassLoader().getResource()

注意,此处URLClassLoader实例用于加载资源。

有关加载资源的更多详细信息:

希望这能解决您的问题。