Java - 运行外部代码

时间:2013-03-19 20:31:02

标签: java file external

我想要一个可以读取.CLASS文件并运行该代码的Java程序,将其自身用作.CLASS文件的库。这有可能吗?

1 个答案:

答案 0 :(得分:3)

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"

我没有运行任何东西,我只是为了向您展示一些可以帮助您的工具。