如何在java应用程序中加载.class文件
我在位置C:\Users\user\Desktop\jk有一个.class文件(JJJ.class)。。。如何在java应用程序中加载.class文件,java,Java,我在位置C:\Users\user\Desktop\jk有一个.class文件(JJJ.class)。。。 我想在java应用程序中动态加载这个.class文件 package com.load.data; public class JJJ { public static void main(String[] args)throws ClassNotFoundException,MalformedURLException { File file = new Fi
我想在java应用程序中动态加载这个.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");
}
}
包结构必须反映在目录结构中。如果类加载器从
C:\Users\user\\Desktop\jk
加载,则类必须实际存储在此处:
C:\Users\user\Desktop\jk\com\load\data\JJJ.class
最好使用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();
}
}
}
那你有什么问题?更具体一点。file.toURL();是否已弃用方法是否正在获取java.lang.ClassNotFoundException我想动态加载.class文件并获取结果….类文件包含“helloworld”。但是,在运行时,如果使用下面的代码并且该代码不起作用,我将无法获取结果,首先检查您尝试加载的类是否在类路径中,然后检查该类是否位于正确的位置(例如:您的类com.load.data.JJJ应该位于/com/load/data/JJJ.class中)