I have found many references explaining how to programmatically compile a Java class using the JavaCompiler
class:
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
int result = compiler.run(null, null, null, "a_file_name");
However, I would like to know if there is an open source library that let me compile source code generated programmatically (therefore without a src file being involved) and generate some byte code in an output stream (without generating a class file in the file system).
For example, I am looking for being able to write something like this:
InputStream input = generateSourceCode();
OutputStream output = getByteCode(input);
doCoolStuffWithByteCode(output);
Thanks for any help.
To start, look at the JavaCompiler API. Basically:
JavaCompiler
instance.Finally, call the methods the new class.
Here is an example that works with JDK6+: