Вы можете сделать это, используя классы внутри javax.tools
. У вас будет класс ToolProvider
, из которого вы сможете получить экземпляр компилятора и скомпилировать код во время выполнения. Позже вы загрузите .class
файлы, только что скомпилированные отдельно, с помощью ClassLoader
, если только вы не получите напрямую двоичный код для класса и не сможете напрямую его определить.
Взгляните здесь