Some of the DrJava code and development tools are organized as independent components, potentially useful in other systems and projects. While we can't dedicate the resources to fully support such uses, the code can be downloaded from SourceForge and documentation is available.
Feel free to send feedback. We'd love to hear about ways in which you've found our code useful!
The Interactions Pane interpreter is based on original code from the now-defunct DynamicJava project. We have since performed major refactorings and rewrites to support Java 5 language features and other improvements. The jar file includes a simple command-line interface.
Subversion sources: https://drjava.svn.sourceforge.net/svnroot/drjava/trunk/dynamicjava/
A growing library of general-purpose utility classes implementing basic functional-style primitives, tuples, collections, reflection, concurrency, logging, file operations, etc.
Subversion sources: https://drjava.svn.sourceforge.net/svnroot/drjava/trunk/plt/
Java Language Levels
The Language Levels compiler is implemented as a source-to-source translator and supports standalone execution.
Subversion sources: https://drjava.svn.sourceforge.net/svnroot/drjava/trunk/javalanglevels/
The DynamicJava and Language Levels implementations take advantage of this standalone tool, which generates Java class declarations and visitors for a hierarchy of simple data wrappers from a concise source file.
SourceForge project page: http://sourceforge.net/projects/astgen
Java Language Benchmarks
Testing of DynamicJava is driven by this tool, which allows Java and Java-like language tests to be expressed succintly. Drivers verify correct static and runtime behavior. A (currently small) collection of tests exercising standard Java language features is included.
SourceForge project page: http://sourceforge.net/projects/jlbench
DrJava has been partially funded by the National Science Foundation, the Texas Advanced Technology Program, and Sun Microsystems, Inc.