W3cubDocs

/OpenJDK 21

Module jdk.jshell

module jdk.jshell
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 the jdk.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

Packages

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.
From Packages
java.compiler javax.annotation.processing javax.lang.model javax.lang.model.element javax.lang.model.type javax.lang.model.util javax.tools
java.prefs java.util.prefs
jdk.jdi com.sun.jdi com.sun.jdi.connect com.sun.jdi.connect.spi com.sun.jdi.event com.sun.jdi.request

Modules

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.

Services

Type Description
ExecutionControlProvider
The provider used by JShell to generate the execution engine needed to evaluate Snippets.
Tool
Common interface for tools that can be invoked from a program.
Type Description
ExecutionControlProvider
The provider used by JShell to generate the execution engine needed to evaluate Snippets.

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/jdk.jshell/module-summary.html