Скомпилируйте код полностью в памяти с помощью javax.tools.JavaCompiler [duplicate]

This question already has an answer here:

How do you dynamically compile and load external java classes? [duplicate] 2 answers

Я использую JavaCompiler из пакета javax.tools (JDK 1.7) для компиляции некоторых вещей на лету, например:

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

Это работает, но я хотел бы сделать все это в памяти (например, передать строку с кодом, а не исходный файл, и получить обратно байт-код, а не файл .class). Я обнаружил, что продлениеInputStream а такжеOutputStream параметры бесполезны, так как они, вероятно, такие же, как в консоли. Вы знаете способ заставить метод run работать следующим образом? Или вы знаете подтвержденный способ сделать это сgetTask() метод? (расширение FileManager выглядит легко, но не так просто :)

Ответы на вопрос(7)

Ваш ответ на вопрос