问题标签 [jshell]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
9211 浏览

java - 如何在脚本末尾关闭 jshell?

如何指示jshell在脚本末尾终止,类似于其他语言的解释器,例如python3node

跟随命令

带脚本/tmp/shell.java

印刷

并等待进一步的命令。我希望它在文件末尾立即停止。

我正在寻找比System.exit(0);脚本结尾更优雅的东西。

0 投票
0 回答
320 浏览

java - 使用带有 /edit 命令的非默认编辑器

我最近尝试在 JShell 中使用非默认编辑器(例如 atom 或 sublime)和/edit命令。为此,我使用以下命令设置编辑器:

/set editor -wait atom

正如文档所述,当我键入/edit命令时,JShell 会创建一个由我选择的编辑器打开的临时文件。保存在文件中的代码由 JShell 评估。但是我不能让它在我点击保存后立即评估更改。在编辑器中保存几秒钟后,它们将在 shell 中进行评估。

有什么方法可以立即评估它们,就像在 EditPad(默认编辑器)中点击“Accept”一样?

0 投票
4 回答
639 浏览

java - jshell - 无法找到 printf

为什么我的 jshell 实例(JDK 版本 9-ea)无法识别printf()语句?以下是我观察到的错误,

只要我以常规方式指定它,我就可以访问 printf。

任何指针?

0 投票
1 回答
263 浏览

jshell - 可以在 JShell 上粘贴整个类吗?

我想知道如果使用新的命令 jshell,是否可以测试整个 Java 类。

提前谢谢了。

胡安·安东尼奥

0 投票
2 回答
708 浏览

java - 有没有办法在 jshell 中为顶级函数使用方法引用?

假设我在 jshell 中这样做:

在普通程序中,我可以l.forEach(this::printIsEven)在非静态上下文或l.forEach(MyClass::printIsEven)名为MyClass.

在 jshell 中使用this::printIsEven不起作用,因为 jshell 在静态上下文中执行语句,但是您不能使用静态方法引用,因为前缀没有类名::printIsEven,并且尝试l.forEach(::printIsEven)只是语法错误。

0 投票
1 回答
4924 浏览

java - 如何运行在 JShell 中作为片段添加的整个 Java 文件?

我尝试安装 JDK 9 Early access 版本 172 来玩 JShell。当我尝试打开一个简单的 java 文件并在将其添加为片段后执行它时,它只显示修改后的类 Test 并增加了片段编号。你能帮我弄清楚我哪里出错了吗?

0 投票
1 回答
1144 浏览

java-9 - 退出 jshell 并显示错误代码

如何使用非零错误代码/exit进行jshell会话?

  • /exit产生:进程以退出代码 0 结束
  • /exit 1产生:进程以退出代码 0 结束
  • throw new Error("1")产生:java.lang.Error throw: 1 at (#24:1)` 并且进程以退出代码 0 结束
  • System.exit(1)产量:状态引擎终止。使用以下命令恢复定义: /reload -restore ... 并且 jshell 会话不会终止。

类似的 bash 命令set -e不可用。

0 投票
4 回答
6217 浏览

java - 如何使用 jshell 执行 java 脚本?

鉴于 Java 9 即将到来,我们终于可以拥有一个 Java REPL,jshell我希望有一种方法可以将 shebang 添加到脚本并对其进行jshell解释。

我尝试创建test.jsh

然而,这给出了:

事实证明,在 OpenJDK https://bugs.openjdk.java.net/browse/JDK-8167440中有一个增强请求。

有没有其他方法可以做到这一点?

0 投票
5 回答
1480 浏览

java - Java 9 jshell 能否用于在另一个 JVM 中运行代码?

Java 9 有一个用于 Java 的 read-eval-print 循环,称为jshell. 我已经从命令行看到它在基本模式下工作。它也可以在远程进程中使用吗?换句话说,我可以连接到另一个 Java 进程并输入代码片段以在该运行时中运行吗?这将是在应用服务器中更改配置状态的好方法,而无需编写带有 UI 的管理工具。

0 投票
1 回答
1027 浏览

java - 尝试在 Eclipse Oxygen 中的 java 中使用 jdk.incubator.http.HttpClient 时出现 NoClassDefFoundError

这是我使用的代码片段:

当我运行上面的代码时, Eclipse 会抛出NoClassDefFoundErrorHttpClient。但是当我将--add-modules=jdk.incubator.httpclient. 可以做些什么来使代码通过 Eclipse 执行?