2

根据文档,

还有在启动时加载脚本的选项,包括一些特殊的预定义选项。这些是使用 --startup 标志指定的,传入文件名或以下之一:

DEFAULT - 加载默认行为。这就像根本没有指定一样

JAVASE – 默认导入所有 Java SE 包

PRINTING – 定义函数 print、println 和 printf 以供使用

但是,当我使用 DEFAULT、JAVASE 或 PRINTING 选项启动 jshell 时,我可以在所有情况下导入类似的类。

例如,JAVASE 中涉及的主要包是 java.lang、java.security 等,在其他选项中也可用。请找到以下快照:

kv:micro-tab karan.verma$ jshell --startup JAVASE
|  Welcome to JShell -- Version 9.0.1
|  For an introduction type: /help intro

jshell> import javax.security.
auth   cert   sasl   

jshell> /exit
|  Goodbye
kv:micro-tab karan.verma$ jshell --startup DEFAULT
|  Welcome to JShell -- Version 9.0.1
|  For an introduction type: /help intro

jshell> import javax.security
security   

jshell> import javax.security.
auth   cert   sasl   

jshell> /exit
|  Goodbye
kv:micro-tab karan.verma$ jshell --startup PRINTING
|  Welcome to JShell -- Version 9.0.1
|  For an introduction type: /help intro

jshell> import javax.security.
   ...> 
auth   cert   sasl   

我是否以正确的方式使用这些选项?或者这些还有其他含义吗?

4

1 回答 1

2

您的程序中的断言方法不正确。区分这些预定义脚本的正确方法是使用

/list -start

查看已评估的所有启动片段。

例如:-

在此处输入图像描述

于 2017-12-18T12:58:41.727 回答