See: Description
| Interface | Description | 
|---|---|
| Bindings | A mapping of key/value pairs, all of whose keys are
  Strings. | 
| Compilable | The optional interface implemented by ScriptEngines whose methods compile scripts
 to a form that can be executed repeatedly without recompilation. | 
| Invocable | The optional interface implemented by ScriptEngines whose methods allow the invocation of
 procedures in scripts that have previously been executed. | 
| ScriptContext | The interface whose implementing classes are used to connect Script Engines
 with objects, such as scoped Bindings, in hosting applications. | 
| ScriptEngine | ScriptEngineis the fundamental interface whose methods must be
 fully functional in every implementation of this specification. | 
| ScriptEngineFactory | ScriptEngineFactoryis used to describe and instantiateScriptEngines. | 
| Class | Description | 
|---|---|
| AbstractScriptEngine | Provides a standard implementation for several of the variants of the  evalmethod. | 
| CompiledScript | Extended by classes that store results of compilations. | 
| ScriptEngineManager | The  ScriptEngineManagerimplements a discovery and instantiation
 mechanism forScriptEngineclasses and also maintains a
 collection of key/value pairs storing state shared by all engines created
 by the Manager. | 
| SimpleBindings | A simple implementation of Bindings backed by
 a  HashMapor some other specifiedMap. | 
| SimpleScriptContext | Simple implementation of ScriptContext. | 
| Exception | Description | 
|---|---|
| ScriptException | The generic  Exceptionclass for the Scripting APIs. | 
The scripting API consists of interfaces and classes that define Java TM Scripting Engines and provides a framework for their use in Java applications. This API is intended for use by application programmers who wish to execute programs written in scripting languages in their Java applications. The scripting language programs are usually provided by the end-users of the applications.
The main areas of functionality of javax.script
package include 
Script execution: Scripts
        are streams of characters used as sources for  programs executed by
        script engines. Script execution uses 
        eval methods of
        ScriptEngine and methods of the 
        Invocable interface. 
        
Binding: This facility
        allows Java objects to be exposed to script programs as named
        variables. Bindings and 
        ScriptContext
        classes are used for this purpose. 
        
Compilation: This
        functionality allows the intermediate code generated by the
        front-end of a script engine to be stored and executed repeatedly.
        This benefits applications that execute the same script multiple
        times. These applications can gain efficiency since the engines'
        front-ends only need to execute once per script rather than once per
        script execution. Note that this functionality is optional and
        script engines may choose not to implement it. Callers need to check
        for availability of the Compilable
        interface using an instanceof check. 
        
Invocation: This
        functionality allows the reuse of intermediate code generated by a
        script engine's front-end. Whereas Compilation allows entire scripts
        represented by intermediate code to be re-executed, Invocation
        functionality allows individual procedures/methods in the scripts to
        be re-executed. As in the case with compilation, not all script
        engines are required to provide this facility. Caller has to check
        for Invocable availability. 
        
Script engine discovery and Metadata: Applications
        written to the Scripting API might have specific requirements on
        script engines. Some may require a specific scripting language
        and/or version while others may require a specific implementation
        engine and/or version. Script engines are packaged in a specified
        way so that engines can be discovered at runtime and queried for
        attributes. The Engine discovery mechanism is based on the Service
        discovery mechanism described in the Jar File Specification.
        Script engine implementing classes are packaged in jar files that
        include a  text resource named
        META-INF/services/javax.script.ScriptEngineFactory. This
        resource must include a line for each 
        ScriptEngineFactory
        that is packaged in the jar file. 
        ScriptEngineManager
        includes 
        getEngineFactories method to get all
        ScriptEngineFactory instances 
        discovered using this mechanism. ScriptEngineFactory has 
        methods to query attributes about script engine.
        
 Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2025, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.