InstantJ
InstantJ is a library you can use to compile and execute Java code or evaluate expressions written in Java. This is done on the fly - there is no pre-compiling step necessary. This is ideal in cases where expressions are either assembled programmatically at runtime, are read from descriptors or received from user-input.
(追記) (追記ここまで)
License
GNU Library or Lesser General Public License (LGPL)