I have a scenario where I have to generate Java code when my application is running.
Can compile and run than code from my application( as a separate application).
Check out Create dynamic applications with javax.tools. Second time I've referenced this today--I swear I don't work for them.
using the ProcessBuilder or Runtime.exec() you can run any commandline app from your java code
this includes the javac compiler and java as a separate process
You can use an instance of JavaCompiler:
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
Follow the link for the an example on how to use it.