[英]Loading a JAR file in JBoss 6 with Reflection
我正在尝试使用反射从JAR文件加载类。 此JAR文件具有一个实现不同JAR文件中的Interface的类。 包含接口的JAR文件是项目已知的,因为它位于其构建路径中。 该JAR文件也位于JBoss 6的两个文件夹中,分别是“ client”和“ common / lib”。
当我尝试使用类java.net.URLClassLoader的loadClass方法动态加载该类以创建对象时,就会发生问题。 关于项目和JAR文件共享的接口,将引发ClassNotFoundException。 我通过以下方法获取ClassLoader:
public static ClassLoader getClassLoader(final String fileName) {
final File file = new File(fileName);
URL url;
ClassLoader classLoader = null;
try {
url = file.toURL();
final URL[] urls = new URL[]{url};
classLoader = new URLClassLoader(urls);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return classLoader;
}
我必须使用此ClassLoader加载该类,因为该类是File变量,其中包含对JAR的引用,而该引用不在JBoss中。
我是否必须将带有接口的JAR包含在JBoss的另一个文件夹中?
您只能引用Jboss类路径中的类。 因此,如果jboss未加载jar,则无法加载它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.