Compile o código totalmente na memória com javax.tools.JavaCompiler [duplicate]

Esta questão já tem uma resposta aqui:

Como você compila e carrega dinamicamente as classes java externas? [duplicado] 2 respostas

Eu estou usando o JavaCompiler do pacote javax.tools (JDK 1.7) para compilar algumas coisas rapidamente, assim:

compiler.run(null, null, "-cp", paths, "path/to/my/file.java");

Ele funciona, mas eu gostaria de fazer tudo na memória (por exemplo, passar uma string com o código, não o arquivo de origem, e obter o código de byte de volta, não um arquivo .class). Eu achei que estendendo oInputStream eOutputStream parâmetros não é útil, pois é provavelmente o mesmo que no console. Você conhece uma maneira de fazer o método de execução funcionar assim? Ou você conhece uma maneira confirmada de fazer isso com ogetTask() método? (estender o FileManager parece fácil, mas não é tão fácil :)

questionAnswers(7)

yourAnswerToTheQuestion