0

因此,我需要在运行时使用 System ClassLoader 从类路径中的 jar 中加载一些类,但每次尝试时,我都会收到 ClassNotFoundException。使用系统类加载器,我可以只做: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 回答