クラスを使用してJavaクラスをプログラムでコンパイルする方法を説明する多くのリファレンスを見つけましたJavaCompiler
。
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
int result = compiler.run(null, null, null, "a_file_name");
ただし、プログラムで生成されたソースコードをコンパイルし(したがって、srcファイルを使用せずに)、出力ストリームにバイトコードを生成できる(ファイルシステムでクラスファイルを生成しない)オープンソースライブラリがあるかどうかを知りたいです。 )。
たとえば、私は次のようなものを書くことができることを探しています:
InputStream input = generateSourceCode();
OutputStream output = getByteCode(input);
doCoolStuffWithByteCode(output);
助けてくれてありがとう。