То, что вы хотите, это что-то вроде Янино . Мы использовали его годами. Вы даете ему (почти стандартный) код, и он дает вам классы, чтобы вы могли их использовать. На самом деле он имеет довольно много различных режимов и поддерживает синтаксический сахар 1.5, автобокс и тому подобное.
Если вы звоните в javac, вы не только должны быть готовы ко всему, что он делает, вам также нужно будет поставить класс в нужное место или создать дополнительный загрузчик классов.
Янино очень легко. Это должно быть именно то, что вы ищете.