is a lightweight Java-embedded compiler that can perform multiple tasks, including compiling a set of source files to a set of class ones, process Java expressions, class bodies, blocks or source files. It can be used for analyzing static code or manipulating it.
It is worth mentioning that the target computer must have
Java SE Development Kit
and a suitable IDE installed beforehand. This compiler comes with integration for Apache Commons JCI (which stands for Java Compiler Interface) and also for JBoss Rules or Drools.
It packs a series of Java language features that are categorized by version. Therefore, you can find features from Java 1.4, 5 and 7. The ones for Java 1.4 include class declaration, interface declaration, package declaration, class initializer, class variable initializer, as well as “if…else”, “while”, “do…while”, “try…catch…finally”, “throw”, “return”, “continue”, “switch”, “synchronized” and “for” statements.
Some examples of Java 5 language features are the enhanced “for” statement, “enum” declaration, annotation type declaration, annotations, static imports and hexadecimal floating point literals. Binary integer literal, strings in the “switch” statement and underscores in the numeric literals are features that are proprietary to Java 7. Combining features from multiple Java language versions makes the compiler more stable and easier to work with.