📅  最后修改于: 2023-12-03 15:23:24.459000             🧑  作者: Mango
JShell 是 JDK 9 中的一项新功能,它使得运行 Java 代码更加容易和交互式。JShell 提供了在 shell 命令或 IDE 中直接执行 Java 代码并获得实时反馈的功能。在 Java 中执行 JShell 命令有不同的方法,包括通过 Java API、JDK 内置的 jshell
命令和 Maven 插件等。本文将介绍这几种方法的用法。
在 Java 代码中使用 JShell 可以快速简便地启动和执行 JShell 命令,这需要使用 jshell
包提供的类和接口。以下是一个简单的使用 jshell
API 执行 JShell 命令的示例:
import jdk.jshell.*;
public class JShellExample {
public static void main(String[] args) {
JShell jshell = JShell.create();
jshell.eval("int a = 10;");
jshell.eval("int b = 20;");
jshell.eval("System.out.println(a + b);");
}
}
这段代码首先创建了一个 JShell
对象,然后使用 eval
方法将代码(int a = 10;
、int b = 20;
和 System.out.println(a + b);
)传递给 JShell,JShell 会编译并执行这些代码。
jshell
命令JDK 中有一个名为 jshell
的命令行工具,它提供了一个 shell 界面,可以交互地输入和执行 Java 代码。以下是使用 jshell
命令的基本操作。
启动 JShell:
jshell
在 JShell 中输入和执行 Java 代码,例如:
jshell> int a = 10;
jshell> int b = 20;
jshell> System.out.println(a + b);
30
可以使用 exit
或 Ctrl+D
在 JShell 中退出。
可以使用 jshell --help
命令获取有关 JShell 命令的更多信息。
如果您使用 Maven 进行项目管理,您可以使用 maven-jshell-plugin
插件轻松执行 JShell 命令。以下是如何使用该插件的示例。
在 pom.xml 中添加插件配置:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jshell-plugin</artifactId>
<version>1.0.0</version>
<executions>
<execution>
<id>jshell-eval</id>
<goals>
<goal>jshell</goal>
</goals>
<configuration>
<script>src/main/jshell/script.jsh</script>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
在 configuration
块中使用 script
元素指定要执行的 JShell 脚本。
然后,在命令行窗口中执行以下命令:
mvn jshell:jshell
Maven 将运行指定的 JShell 脚本,输出结果并退出。
这是 src/main/jshell/script.jsh
中的示例脚本:
int a = 10;
int b = 20;
System.out.println(a + b);
以上三种方法都可以在 Java 中执行 JShell 命令,并且在不同场景下有其优劣之处。选择哪种方法取决于您的具体需求。