Related Projects (Alphabetical Order)

Nothing listed here is directly supported by the BSF developers. If you encounter any problems with them, please use the contact information. Failing that, a query to the bsf-users mailing list may help.

BeanShell (Interpretative Java)

"BeanShell is a small, free, embeddable, Java source interpreter with object scripting language features, written in Java. BeanShell executes standard Java statements and expressions, in addition to obvious scripting commands and syntax. BeanShell supports scripted objects as simple method closures like those in Perl and JavaScript(tm)."

Compatibility: BSF 2.2 and above
Contact: project mailing lists
License: Dual Licensed: Sun Public License / Gnu Lesser Public License


"Groovy is a powerful scripting language for the JVM which compiles down to Java bytecode and implements various high level features for Java developers such as dynamic typing, powerful closures for neat object navigation, native syntax for Maps and Lists, operator overloading, new extended JDK methods, AOP hooks and auto-boxing. Groovy also features a markup language for working with structured data (XML, DOM, SAX, Ant tasks, Swing etc). "

Compatibility: BSF 2.3 and above
Contact: Mailing lists
License: BSD (Apache-like) License

Groovy Monkey

"Groovy Monkey is a dynamic scripting tool for the Eclipse Platform/RCP that enables you to automate tasks, explore the Eclipse API and engage in rapid prototyping. Groovy Monkey makes use of the BSF framework to allow users to write scripts in Beanshell, Groovy or the Ruby language. If you have ever wanted to be able to quickly experiment with or write simple automation tasks for the Eclipse environment, this is the tool for you. "

Compatibility: BSF 2.3 and above

Jacl (Tcl)

"Jacl, which stands for Java Command Language, is a Java implementation of TCL 8.x."

Compatibility: Jacl 1.2.6, with BSF 2.2 and above
Contact: Tcl/Java Mailing Lists
License: Sun, ORO, and UCB licenses (see source)


"Java Expression Language (JEXL) is an expression language engine which can be embedded in applications and frameworks."

Compatibility: Commons JEXL 1.1, with BSF version 2.4
Contact: Commons Mailing Lists
License: Apache v2.0

JavaScript/Rhino (JavaScript in Java)

"JavaScript/Rhino is an open-source implementation of JavaScript written entirely in Java. It is typically embedded into Java applications to provide scripting to end users."

Compatibility: Rhino with BSF 2.4 and above,
early versions of Rhino (up to and including version 1.5.3) with BSF 2.3
Contact: Rhino Contact Page
License: Mozilla Public License, version 1.1

JLog (PROLOG in Java)

"Prolog is a logic-oriented language based on predicate calculus. While it is not really a scripting language, there is a range of problems that are much easier to express in it than in Java, and for these cases a Prolog BSF engine comes in handy. It is also useful for adding a GUI to Prolog programs. The underlying Prolog interpreter is JLog, which can be run as an applet, an application or embedded through an API, and can be found at"

Compatibility: BSF 2.3 and above
Contact: Ulf Dittmer
License: GPL (same as JLog itself)

JRuby (Ruby in Java)

"JRuby is a pure Java implementation of the Ruby interpreter, being developed by Jan Arne Petersen and others."

Compatibility: BSF 2.2 and above
Contact: Jan Arne Petersen
License: dual GPL/LGPL


"Judoscript is a 3GL-and-4GL; it retains 3GL's powerful programmability, and extends its reach into many of today's popular applications areas with 4GL approach (figuratively, "WYSIWYG programming"), making their uses easy, effective and elegant."

Compatibility: BSF 2.2 and above
Contact: James Huang
License: LGPL

Jython (Python in Java)

"Jython is an implementation of the high-level, dynamic, object-oriented language Python written in 100% Pure Java, and seamlessly integrated with the Java platform. It thus allows you to run Python on any Java platform."

Compatibility: Jython 2.1, with BSF 2.2 and above
Contact: Jython Mailing lists
License: Jython Software License

NetRexx (Rexx-like Java)

"NetRexx is a human-oriented programming language which makes writing and using Java classes quicker and easier than writing in Java."

Compatibility: NetRexx 2.0.2, with BSF 2.2 and above
Contact: NetRexx 2 mailing list
License: IBM License Agreement for IBM Employee-Written Software


"Open Object Rexx (ooRexx, is a free and opensource language, which was originally developed by IBM, and made available for opensourcing and further developing it.

The non-profit SIG Rexx Language Association ( received the source code from IBM at the end of 2004 and released an opensource version to the community in the spring of 2005.

The BSF engine for ooRexx (BSF4ooRexx) comes with an ooRexx wrapper program (BSF.CLS) which camouflages Java as ooRexx, easying programming considerably (e.g. no need for type information/casting)."

Relates to: ooRexx
Compatibility: BSF 2.3 and above
Contact: President of RexxLA
License: IBM's opensource license CPL v 1.0 (hence you can bundle this freely with commercial software as well)
Relates to: BSF4ooRexx
Compatibility: BSF 2.3 and above
URL: (temporary home)
(future) URL: (planned home)
Contact: Rony G. Flatscher
License: Apache v2.0 (hence you can bundle this freely with commercial software as well)


"ObjectScript is a general purpose object-oriented programming language. It is designed to be simple to learn, easy to use, yet still powerful, combining the convenience of an interactive interpreter with many of the features of Java, plus operator overloading, regular expressions, closures, XML-RPC support, etc. And a behind the scenes compiler compiles script code to JVM bytecode for faster execution."

Compatibility: BSF 2.3 and above
Contact: Rob Clark
License: LGPL


"Xalan-Java is an XSLT processor for transforming XML documents into HTML, text, or other XML document types. It implements the W3C Recommendations for XSL Transformations (XSLT) and the XML Path Language (XPath). It can be used from the command line, in an applet or a servlet, or as a module in other program.

Hint: Starting with Sun's Java 1.4SE a W3C compliant set of classes for XSLT is part of the runtime environment.", however, with other versions of Java or newer versions of Xalan distributions you may need to explicitly extract the archive xalan.jar and put it into the CLASSPATH environment variable or alternatively, copy it into the Java endorsed or extension directory of your Java distribution (usually in $(JAVA_JRE_HOME)/jre/lib/{endorsed|ext}). The download site of Xalan (Java version) is at:

(You can determine quite easily whether you need to do that: just try to run the xslt sample of the BSF distribution. If you encounter the error 'Could not compile stylesheet', then you need to explicitly supply the xalan.jar from the Xalan distribution.)

Compatibility: Xalan 2.2 and above (XSLT), with BSF 2.3 and above
Contact: Apache XML Project "Get Involved" page
License: Apache v2.0