beanshell/beanshell

Name: beanshell

Owner: BeanShell

Description: Beanshell scripting language

Created: 2015-09-23 15:36:06.0

Updated: 2018-05-24 03:13:47.0

Pushed: 2018-05-16 10:23:24.0

Homepage:

Size: 2929

Language: Java

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

BeanShell Build Status

2016-02-18 Security update

Note: A security vulnerability has been identified in BeanShell that could be exploited for remote code execution in applications that has BeanShell on its classpath (CVE-2016-2510). The vulnerability has been fixed in the security update BeanShell 2.0b6. This is a recommended update for all BeanShell users.

Introduction

BeanShell is a small, free, embeddable Java source interpreter with object scripting language features, written in Java. BeanShell dynamically executes standard Java syntax and extends it with common scripting conveniences such as loose types, commands, and method closures like those in Perl and JavaScript.

You can use BeanShell interactively for Java experimentation and debugging as well as to extend your applications in new ways. Scripting Java lends itself to a wide variety of applications including rapid prototyping, user scripting extension, rules engines, configuration, testing, dynamic deployment, embedded systems, and even Java education.

BeanShell is small and embeddable, so you can call BeanShell from your Java applications to execute Java code dynamically at run-time or to provide extensibility in your applications. Alternatively, you can use standalone BeanShell scripts to manipulate Java applications; working with Java objects and APIs dynamically. Since BeanShell is written in Java and runs in the same VM as your application, you can freely pass references to “live” objects into scripts and return them as results.

License

BeanShell is licensed under the Apache License, version 2.0. See LICENSE for details, and the NOTICE file for required attributions.

Earlier versions of BeanShell (2.0b4 and earlier) were distributed under GNU Lesser General Public License (LGPL) and Sun Public License (SPL).

Download
Source code

The source code releases can be downloaded from GitHub releases or Bintray.

Latest release:

Maven

Beanshell releases are published to Maven Central. To use Beanshell with Maven, add to to your pom.xml:

<dependencies>
   <dependency>
     <groupId>org.apache-extras.beanshell</groupId>
     <artifactId>bsh</artifactId>
     <version>2.0b6</version>
   </dependency>
</dependencies>

Alternatively you can use our BinTray Maven repository or JCenter:

 just beanshell -->
ository>
d>bintray-beanshell-Beanshell</id>
ame>bintray</name>
rl>http://dl.bintray.com/beanshell/Beanshell</url>
napshots><enabled>false</enabled></snapshots>
pository>
 or use JCenter -->
ository>
d>central</id>
ame>bintray</name>
rl>http://jcenter.bintray.com</url>
napshots><enabled>false</enabled></snapshots>
pository>
JAR binary

You can also download the bsh.jar binary from Bintray.

If you want to execute the Beanshell User Interface, either double-click the JAR file, or run it with:

java -jar bsh-2.0b6.jar

You will need Java 5 or later installed.

Note: There is a race-condition bug #4 that sometimes prevent the GUI from starting on Java 8.

Build
mvn clean install -DskipTests
Contribute

You are encouraged to raise a Github Pull Request with any suggested improvements and fixes!

You can also raise an issue for any questions or bugs. Remember, your stacktrace might be particularly useful for others!

Documentation

For full documentation, see the BeanShell wiki and the FAQ for frequently asked questions.

Summary of features
Java evaluation features
Scripting features
BeanShell Uses

History

2000: beanshell.org

BeanShell was originally maintained by Patrick Niemeyer at http://beanshell.org/ - distributed as BeanShell (2.0b4 and earlier) were distributed under GNU Lesser General Public License (LGPL) and Sun Public License (SPL).

2012: Move to apache-extras.org

BeanShell was proposed as an incubator project to move to Apache Software Foundation. In preparation for this, the codebase for BeanShell 2.0b4 was donated to ASF by a code grant, and the license changed to Apache License, version 2.0.

The source code was moved to http://apache-extras.org/ - a project home hosted by Google Code, that was only informerly associated with Apache Software Foundation. Many of the BeanShell committers were Apache committers, and thus Apache Extras seemed a natural home.

However the project did not to move into the Apache incubator, and remained at apache-extras.org as an independent project.

In March 2015 Google announced it would discontinue Google Code, which provided the hosting for Apache Extras.

2015: Moved to github.com

On 2015-09-23, the BeanShell repository moved from https://code.google.com/a/apache-extras.org/p/beanshell/ to its new home on https://github.com/beanshell/beanshell/ as Google Code has been discontinued.

The project adapted an open collaboraive approach using GitHub pull requests and has since grown its committer base beyond the original Apache Extra team.

http://beanshell.org/ remains available for older versions.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.