繁体   English   中英

使用反射在JBoss 6中加载JAR文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM