因此,我需要在运行时使用 System ClassLoader 从类路径中的 jar 中加载一些类,但每次尝试时,我都会收到 ClassNotFoundException。使用系统类加载器,我可以只做:xyclassineed(x 和 y 是包)还是我必须做类似的事情:pathtox.xyclassineed,假设它甚至可以做到这一点?
问问题
1125 次
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 回答