1

.CLASS ファイルを読み取り、それ自体を .CLASS ファイルのライブラリとして使用してそのコードを実行できる Java プログラムが必要です。これはまったく可能ですか?

4

1 に答える 1

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"

私は何も実行しませんでした。役立つツールをいくつか紹介するために書いただけです。

于 2013-03-19T20:52:38.293 に答える