A Java 1.5 Parser with AST generation and visitor support. The AST records the source code structure, javadoc and comments. It is also possible to change the AST nodes or create new ones to modify the source code.
Main features
light weight
good performance
easy to use
AST can be modified
AST can be created from scratch
This parser was created using javacc (the java compiler compiler). All the nodes of the AST, visitors and other features was coded manually using the Eclipse IDE.
Lets you build an executable jar with Maven2, containing all dependencies.
You can do that with the assembly plugin too, but that will just unpack all dependencies together with your classes in one directory and then repack that directory into a new jar. Doing it that way means files will overwrite each other if they have the same names in the same path, which is quite common with resources such as log4.properties and even other more important files.
With onejar-maven-plugin, you'll instead get a nice clean super jar with the dependency jars inside.
Java 7 should fix these bugs. In the meantime, Jetty includes several work arounds that deal with these problems. When Jetty employs these work arounds, you see messages in your logs like the following:
JVM BUG(s) - cancelled keys 16 times
JVM BUG(s) - recreating selector 4 times, cancelled keys 32 times
JVM BUG(s) - injecting delay 8 times
MALLET is an integrated collection of Java code useful for statistical natural language processing, document classification, clustering, information extraction, and other machine learning applications to text.