私はプログラム的JavaCompiler
クラスを使用してJavaクラスをコンパイルする方法を説明する多くの参照を発見した:しかし、私は私がプログラムで生成されたソースコードを(コンパイルせ、オープンソースのライブラリーがあるかどうかを知りたいプログラムでJavaソースコードをメモリ内でコンパイルすることはできますか?
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
int result = compiler.run(null, null, null, "a_file_name");
をしたがって、srcファイルが関与することなく)、出力ストリームにバイトコードを生成します(ファイルシステムにクラスファイルを生成することはありません)。
例えば、私はこのような何かを書くことができることを探しています:任意の助け
InputStream input = generateSourceCode();
OutputStream output = getByteCode(input);
doCoolStuffWithByteCode(output);
感謝を。
デモについては、[SSCCE ** Text Based ** Compiler](http://pscode.org/stbc/)を参照してください。ジェームス&ブライアンが言及しているもののSTBCは 'JavaCompiler' /' SimpleJavaFileObject'を使います。 –