Java 9 引入了一项新功能,即创建名为 REPL (Read-Evaluate-Print-Loop) 的新功能JShell。它是一个命令行提示工具,用于评估Java代码,而不需要编写完整的程序。
当我们可以在JShell中输入代码或内部命令时,我们需要使用它在当前会话期间。当我们可以关闭 JShell 并再次登录时,之前输入的所有代码都丢失了。已实施内部命令,以便保存使用“/save”命令输入到文件中的所有代码。
/ save [file-path]
/ save -all [file-path]
/ save -history [file-path]
/ save -start [file-path]
登录后复制
- /save [file-path]: 如果不带参数,此命令会将会话期间输入的所有活动代码保存在第二个参数中输入的文件中。请注意,输入错误的代码和内部命令不会保存在文件中。
- /save -all [文件路径]: 将所有活动代码保存在错误并在启动时在会话期间输入作为第二个参数输入的文件中。不记录输入的内部订单。
- /save -history [文件路径]:将会话期间输入的所有代码和命令保存在第二个参数中输入的文件中。甚至内部命令也保存在文件中。
- /save -start:保存JShell启动时启动的所有代码。
在下面的代码片段中,在 JShell 中输入的代码会保存在不同的文件中,具体取决于 "/save" 命令后输入的选项。我们需要将这些文件保存在扩展名为“.jsh”的目录中
C:UsersUser>jshell
| Welcome to JShell -- Version 9.0.4
| For an introduction type: /help intro
jshell> int x = 20
x ==> 20
jshell> double y = 30
y ==> 30.0
jshell> public int sum(int a, int b) {
...> return a + b;
...> }
| created method sum(int,int)
jshell> String str = "TutorialsPoint"
str ==> "TutorialsPoint"
jshell> /list
1 : int x = 20;
2 : double y = 30;
3 : public int sum(int a, int b) {
return a + b;
}
4 : String str = "TutorialsPoint";
jshell> int var = "error"
| Error:
| incompatible types: java.lang.String cannot be converted to int
| int var = "error";
| ^-----^
jshell> /save C:UsersUsersave.jsh
jshell> /save -all C:UsersUsersaveAll.jsh
jshell> /save -history C:UsersUsersaveHistory.jsh
jshell> /save -start C:UsersUsersaveStart.jsh
登录后复制
以上就是如何在Java 9中保存当前的JShell会话?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!