Logo DynamicJava
The original version of this page is located here: http://koala.ilog.fr/djava/index.html.



DynamicJava is a JavaTM source interpreter. It executes programs written in JavaTM, like described in the Java Language Specification, in addition with scripting features. DynamicJava was written in pure JavaTM, is free and distributed with the source code.


DynamicJava was designed and implemented by Stéphane Hillion. Send comments, suggestions and bug reports to shillion@ilog.fr


Version 1.1.5 released. Added security features.
Version 1.1.4 released. Fixed the jdk1.3's introspection problem.
Version 1.1.3 released. Few API additions.
Version 1.1.2 released. Minor API additions and fixes.
Version 1.1.1 released. Few bug fixes and script style comments beginning with '#'.
Created a DynamicJava project at SourceForge.
Version 1.1 released. Release focused on performances enhancement. DynamicJava is around two times faster both in statement interpretation and class creation.
Version 1.0 released. Some new feature, enhanced documentation, and a lot of bug fixes.
Version 1.0beta7 released. New platform-independent installation procedure, more user-friendly GUI and simplified error handling at the API level.
Version 1.0beta6 released. Lot of bug fixes and new features: a dynamically extensible classpath (with local paths or URLs), new options, GUI enhancements, etc ...
Version 1.0beta5 released. Bug fixes, support for top-level anonymous classes.
Version 1.0beta4 released. Bug fixes, support for top-level functions, and GUI enhancements.
Version 1.0beta3 released. Bug fixes, and a simple GUI.
Version 1.0beta2 released. Some new features and examples, and a fix for a problem with the return key under Windows in interactive mode.
Initial release of DynamicJava.

The ways to use DynamicJava

As an extension language
You can use DynamicJava to allow the user to configure and/or extend your application.
As a debugging tool
Run as a standalone application, DynamicJava can help you to test your application in an interactive way.
To experiment a Java API
Even if it is fully documented, it is always necessary to try out a Java API. The ability of DynamicJava to instantiate and to extend JavaTM classes on-the-fly makes it a good experimentation tool.
As a rapid prototyping tool
DynamicJava permits faster development of applications by allowing an easy migration from scripts to JavaTM programs.

Differences beetween DynamicJava and Java

DynamicJava supports all features provided by the Java language and the Java 2 platform API including class and inner class definition, multi-threading, GC ...
DynamicJava extends the JavaTM grammar to accept many scripting features: See the incompatiblities with Java and scripting with DynamicJava to learn more about the differences between DynamicJava and Java.

DynamicJava API Specification

The JavaTM 2 Platform API Specification is the core API for the DynamicJava programmer. Because DynamicJava is written in Java, the DynamicJava API Specification (the classes that compose the interpreter) and every other JavaTM libraries can also be used in scripts.

DynamicJava open-source project

DynamicJava forums, bug-tracking system ... are hosted at the SourceForge logo.

Download DynamicJava

The latest version of DynamicJava can be downloaded here.
The corresponding CVS snapshot.
Current version is 1.1.5 (2002/06/13).
Requirements: You need the Sun JDK 1.2 or newer installed on your system.

Send comments, suggestions and bug reports to shillion@ilog.fr
Last modified: Thu Jan 29 10:56:27 CET 2004