簡體   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