How can I compile and deploy a java class at runtime?

compilation, java, runtime

Solution

You could transform it into Clojure code, and the Clojure compiler will turn it into bytecode for you.

Problem

I am in the process of writing a rule engine that performs simple assignments as determined by conditional constructs. It is a prerequisite of the project that the rules be in XML format. I have modeled my XML schema to resemble simple code blocks. I wish to parse the XML and to then transform it into Java code. I then wish to compile (and run) this code at runtime. Doing so would mean that my rule engine no longer acts as an interpreter but executes native Java Byte Code. I have figured out the parsing stage and more or less the Java code generation phase. I would now like to figure out the last phase - the compile at runtime phase. Following this thread: Compile to java bytecode (without using Java) I have become aware of the following possible solutions: - ASM - BCEL - Trove I would love a comparison of these as well as other suggestions for solving the Java compile at runtime phase.

Original source

Related problems