小编典典
如果只想运行它,则可以使用Runtime.exec或ProcessBuilder启动Java进程
。这些将创建一个单独的Java进程来运行您的Java程序。这更可能是您想要的。您基本上可以做到:
>java someClass
从您的应用程序中。此链接可能会有所帮助。
如果您想实际加载类文件并在当前应用程序中使用它,我认为与此类似的事情或动态加载Java类应该有所帮助。基本上(直接从链接中进行一些修改):
public class MainClass {
public static void main(String[] args){
ClassLoader classLoader = MainClass.class.getClassLoader();
try {
Class aClass = classLoader.loadClass("MyClass");
System.out.println("aClass.getName() = " + aClass.getName());
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
加载该类后,您将拥有一个Class对象,并且可以aClass通过调用来创建该类的实例aClass.newInstance(),这就像
MyClass newObj = new MyClass()
或者,您可以使用Class对象公开的任何其他方法。
正如davmac指出的那样,以上代码示例假定正在加载的代码在应用程序的类路径中。如果要运行的类文件不在您的类路径中,则可能需要调查URLClassLoader
2020-11-16