jdk.jshell (Java SE 15 & JDK 15) (original) (raw)

Provides the jshell tool for evaluating snippets of Java code, and defines a JDK-specific API for modeling and executing snippets. The JShell API supports Java Programming Language 'snippet' evaluating tools, such as Read-Eval-Print Loops (REPLs). Separate packages support building tools, configuring the execution of tools, and programmatically launching the existing Java shell tool.

The jdk.jshell is the package for creating 'snippet' evaluating tools. Generally, this is only package that would be needed for creating tools.

The jdk.jshell.spi package specifies a Service Provider Interface (SPI) for defining execution engine implementations for tools based on thejdk.jshell API. The jdk.jshell.execution package provides standard implementations of jdk.jshell.spi interfaces and supporting code. It also serves as a library of functionality for defining new execution engine implementations.

The jdk.jshell.tool package supports programmatically launching the_jshell_ tool.

The jdk.jshell.execution package contains implementations of the interfaces in jdk.jshell.spi. Otherwise, the four packages are independent, operate at different levels, and do not share functionality or definitions.

Module Graph:

Module graph for jdk.jshellModule graph for jdk.jshell

Tool Guides:

jshell

Since:

9

Exports

Package Description
jdk.jshell Provides interfaces for creating tools, such as a Read-Eval-Print Loop (REPL), which interactively evaluate "snippets" of Java programming language code.
jdk.jshell.execution Provides implementation support for building JShell execution engines.
jdk.jshell.spi Defines the Service Provider Interface for pluggable JShell execution engines.
jdk.jshell.tool Provides a mechanism to launch an instance of a Java shell tool.

Requires

Modifier Module Description
transitive java.compiler Defines the Language Model, Annotation Processing, and Java Compiler APIs.
transitive java.prefs Defines the Preferences API.
transitive jdk.jdi Defines the Java Debug Interface.

Uses

Type Description
ExecutionControlProvider The provider used by JShell to generate the execution engine needed to evaluate Snippets.