Janino - популярный выбор для компилятора по требованию. Он используется во многих проектах с открытым исходным кодом.
Использование прямо вперед. Код
import org.codehaus.janino.ScriptEvaluator;
public class App {
public static void main(String[] args) throws Exception {
String x = "System.out.println(\"X\");"; //<-- dont forget the ; in the string here
ScriptEvaluator se = new ScriptEvaluator();
se.cook(x);
se.evaluate(new Object[0]);
}
}
печатает x
.
Как уже отмечали другие, загрузка кода из базы данных и его выполнение могут быть немного рискованными.