そのため、クラスパスの jar から System ClassLoader を使用して実行時にいくつかのクラスをロードする必要がありますが、試行するたびに ClassNotFoundException が発生します。System ClassLoader を使用すると、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 に答える