Hi,
I tryed to load a xml file from a jar which I deploy on a JBoss AS 7.1.1.Final.
I tryed the normal Java way:
InputStream mockupdata = MyClazz.getClassLoader().getResourceAsStream("my.pack.MockupData.xml");
This returns null.
Debugging shows me that I get a org.jboss.modules.ModuleClassLoader which extends org.jboss.modules.ConcurrentClassLoader
The ConcurrentClassLoader implements the getResourceAsStream method. This is the method in the jboss-modules-1.1.1.GA.jar:
public final InputStream getResourceAsStream(final String name) {
for (String s : Module.systemPaths) {
if (name.startsWith(s)) {
return definingLoader != null ? definingLoader.getResourceAsStream(name) : ClassLoader.getSystemResourceAsStream(name);
}
}
return findResourceAsStream(name, false);
}
The systemPaths are "java.", "sun.reflect." and "__redirected.". So these are not my packages. findResourceAsStream() is this Method:
protected InputStream findResourceAsStream(final String name, final boolean exportsOnly) {
final URL url = findResource(name, exportsOnly);
try {
return url == null ? null : url.openStream();
} catch (IOException e) {
return null;
}
}
And findResource() is this method:
protected URL findResource(final String name, final boolean exportsOnly) {
return null;
}
So it is not possible to load resources with this functionalty and I don't know another way. How to load resources within a jar on JBoss AS 7?