我想有一个Java程序,它可以读取一个.class文件并运行该代码,使用本身作为.class文件的库中。 这是可能吗?
Answer 1:
java.lang.ClassLoader
将帮助您加载外部类。
java.lang.reflect.Method
将帮助您调用加载外部类的方法。
小小的例子:
ArrayList<URL> urls = new ArrayList<URL>();
urls.add(new File("/path/to/your.class").toURI().toURL()); //can add several..
ClassLoader cl = new URLClassLoader(urls.toArray(new URL[urls.size()]));
Class<?> c;
c = Class.forName("your.class.name", false, cl); //now you have your class
Method m = c.getMethod("main", String[].class); //now your have your method
m.invoke(null, new Object[] { "argument1", "argument2" }); //now you "run that code"
我没有运行任何,我只是写它向你展示一些工具,可以帮助你。
文章来源: Java - Running external code