私はクラスパス内のjarファイルからSystem ClassLoaderを実行時にロードする必要がありますが、試行するたびにClassNotFoundExceptionが発生します。 System ClassLoaderでは、x.y.classineed(xとyはパッケージ)か、pathtox.x.y.classineedのような何かをする必要がありますか?これを行うことも可能ですか?Java System ClassLoader(URLClassLoaderはありません)を使用してクラスパスのjarファイルからクラスをロードする方法はありますか?
0
A
答えて
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();
}
}
}
+0
+1クラスのClassLoaderを使用しています。 Systemクラスローダーを使用することは決して正しい決断ではありません。 – Dev
* "クラスパスのjarからSystem ClassLoaderを使用して実行時にクラスをロードする必要があります。"実際に達成しようとしていることは何ですか? –