DrJava Components

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/
Javadocs: http://drjava.org/javadoc/dynamicjava/

PLT Utilities

A growing library of general-purpose utility classes implementing basic functional-style primitives, tuples, collections, reflection, concurrency, logging, file operations, etc.

Binary jar: https://drjava.svn.sourceforge.net/svnroot/drjava/trunk/drjava/lib/plt.jar
Subversion sources: https://drjava.svn.sourceforge.net/svnroot/drjava/trunk/plt/
Javadocs: http://drjava.org/javadoc/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/
Javadocs: http://drjava.org/javadoc/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

Hosted by SourceForge.net DrJava has been partially funded by the National Science Foundation, the Texas Advanced Technology Program, and Sun Microsystems, Inc.