我在位置C有一个.class文件(JJJ.class):\ Users \ user \ Desktop \ jk ... 我想在java应用程序中动态加载这个.class文件。我想在项目中动态加载.class文件
package com.load.data;
public class JJJ {
public static void main(String[] args)throws ClassNotFoundException,MalformedURLException
{
File file = new File("C:\\Users\\user\\Desktop\\jk");
URL url = file.toURL();
URL[] urls = new URL[]{url};
ClassLoader cl = new URLClassLoader(urls);
Class cls = cl.loadClass("com.load.data.JJJ");
}
}
答案 0 :(得分:1)
包结构必须反映在目录结构中。如果类加载器从C:\Users\user\\Desktop\jk
加载,则该类必须实际存储在此处:
C:\Users\user\Desktop\jk\com\load\data\JJJ.class
答案 1 :(得分:0)
最好使用JJJ类作为类加载器,并检查您尝试加载的类是否在类路径中。
public class JJJ {
public static void main(String[] args){
ClassLoader classLoader = JJJ.class.getClassLoader();
try {
Class aClass = classLoader.loadClass("com.load.data.JJJ");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}