问题标签 [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 回答
40 浏览

java - 如果用户尝试获取带有某些错误的脚本,jshell 会静默完成

请按照以下步骤重现:

  1. 创建一个带有某种错误的“.jsh”脚本(缺少导入、语法错误等)

  2. 打开一个jshell

  3. /open错误的脚本

  4. /open命令将静默完成。

  5. 该脚本中声明的元素不会在当前命名空间中。

如果加载了错误的脚本,有没有办法强制jshell吐出错误及其在脚本中的位置?将反馈级别设置为verbose不会改变任何内容。

0 投票
1 回答
764 浏览

java - 无法使用 jshell 启动 Spring Boot 应用程序

我正在尝试从 jshell 为我的项目启动一个 spring boot jar 可执行文件,但它会引发异常并且无法启动。

我正在运行的命令:

./jshell --class-path myapp-0.0.1-SNAPSHOT.jar

一旦 jshell 启动,我调用:

org.springframework.boot.loader.JarLauncher.main(新字符串[0])

这会引发以下异常,我猜它非常短且没多大用处:

在此之后,我尝试再次启动主类,但出现以下异常:

我使用 Gradle 作为依赖管理工具。

0 投票
1 回答
455 浏览

java - 我已将所有 jar 文件存储到特定文件夹中。如何将特定文件夹配置到 Jshell 类路径?

我已将所有 jar 文件存储到特定文件夹中,并将特定文件夹添加到 Jshell 类路径中。jshell添加类路径后,我无法导入包。

如果我在类路径中提到了所有 jar 文件名,它工作正常。我不想在类路径中提及所有 Jar 文件名,因为我必须在类路径中添加数千个 jar 文件。

如何将特定文件夹配置到 Jshell 类路径?

在此处输入图像描述

0 投票
1 回答
169 浏览

java - IntelliJ IDEA jshell_console 重建项目后仍然报错

我是 Java 新手。我写了一些将整数转换为二进制的简单代码。我想测试代码是否在 jshell_console 中工作,这样我就不需要每次都使用“main”。

起初,当我在源代码中声明类及其方法(用于转换)时,我忘记使用“public”。所以jshell控制台报错了。但是在我更正错误并重建项目后,控制台仍然失败。奇怪的是,在我关闭并重新启动 IntelliJ 之后,控制台终于按预期工作了......

是IntelliJ的错还是我的错?我想知道我应该如何重新编译或重建源代码/项目以使控制台立即响应而无需重新启动 IntelliJ。

感谢您的关注!

0 投票
1 回答
312 浏览

java - 如何在 intellij idea 中使用 Jshell 元命令

当我使用/var时,Intellij idea 的 jshell 控制台显示如下:

0 投票
0 回答
26 浏览

java - 这是否可以从单个 JVM 运行独立的 Java REPL?

这是否可以JShell在单个 JVM 中拥有多个实例,同时保持它们独立?就像每个实例都有单独的类路径/类定义一样,即使它们的名称相同?我想创建多个 REPL,但避免为每个创建单独的 JVM。

REPL 用户必须能够在不干扰其他JShell实例的情况下定义类型。

可能吗?它是开箱即用的吗?怎么做才能实现?

0 投票
0 回答
46 浏览

java - jshell(Java 9 shell)集成在 SublimeREPL 中没有响应

jshell本文档中所述,我已尝试将Java 9 REPL 集成到 SublimeREPL 中。我已正确设置文件:

在此处输入图像描述

当我从 Sublime 运行 REPL 时,我得到了 REPL 生成的初始输出,所以我知道它能够访问jshell可执行文件:

在此处输入图像描述

但是,SublimeREPL 接口似乎在点击EnterREPL 时没有发送我的输入,因为我在尝试向 REPL 提交表达式时没有收到任何回复:

在此处输入图像描述

任何有关如何解决此问题的帮助将不胜感激。我已经用尽了我的潜在修复列表。

0 投票
2 回答
183 浏览

java - 在 jshell-11 中,为什么重置为 null 的重新声明的引用变量仍然具有类型?

在第 33 行重新声明 Integer 'a' 时,为什么 jshell 将引用变量显示为 Integer 的实例(请参阅第 38 和 39 行)?重新声明后,第 34 行显示 'a' 设置为 null。当 'a' 在第 6 行声明但未给定值,或在第 22 行重置为 null 时,'a' 不被视为 Integer 的实例。我希望当引用变量被重新声明时,因为它的值为空,它不会是一个类型的实例;然而,事实并非如此。

0 投票
1 回答
144 浏览

java - JShell Edit Pad 接受时只运行一行

我正在学习使用 jshell,并尝试在编辑板中编写一段代码。点击接受时,如果所有代码都在窗口中,则仅处理并保存第一行。如果我关闭并打开编辑板,所有其他行都会消失。
如果我一次输入一行并在每一行后点击接受,我可以使用编辑板,但这与在命令提示符下编写没有什么不同。

我正在使用 JShell 10.0.2。

0 投票
1 回答
4220 浏览

java - Intellij IDEA 中的 Java 11 JShell

我有 Java 11 JDK 和 IntelliJ IDEA 2018.2.4(64 位)。当我使用 Java 10.0.2 时,IntelliJ IDEA 中的 JShell 控制台运行良好。现在我已经升级到 Java 11,JShell 控制台已经停止工作。当我单击“运行”按钮或按 Ctrl+Enter(见屏幕截图)时,什么也没有发生。

我的项目使用 Java 11 编译和运行得很好——只有 JShell 控制台不起作用。(此外,JShell 在命令提示符下工作正常,它只在 IDEA 内部不起作用。)我可以在两台机器上重现这个问题,一台在家里运行 IDEA Community Edition 2018.2.4,另一台在运行 Ultimate 2018.2 .3.

为了解决这个问题,我需要做一些配置吗?

截屏