0

そのため、クラスパスの jar から System ClassLoader を使用して実行時にいくつかのクラスをロードする必要がありますが、試行するたびに ClassNotFoundException が発生します。System ClassLoader を使用すると、xyclassineed (x と y はパッケージ) を実行できますか?それとも、それが可能であると仮定して、pathtox.xyclassineed のようにする必要がありますか?

4

1 に答える 1

1

JAR が CLASSPATH に含まれていてはなりません。

これは問題なく動作します。CLASSPATH に JDOM JAR があります。

package cruft;

/**
 * ClassLoaderDemo
 * @author Michael
 * @since 2/9/12 7:09 PM
 * @link http://stackoverflow.com/questions/9220887/java-how-to-load-classes-out-of-a-jar-in-the-classpath-with-the-system-classload
 */
public class ClassLoaderDemo {
    public static void main(String[] args) {
        try {
            ClassLoader classLoader = ClassLoaderDemo.class.getClassLoader();
            if (classLoader != null) {
                Class clazz = classLoader.loadClass("org.jdom.Document");
                System.out.println(clazz.getName());
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}
于 2012-02-10T00:16:41.717 に答える