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

java - 如何使用 jshell 运行 java 应用程序?

如何使用 jshell 运行 java 应用程序?它应该能够指定类路径并调用 java 命令并像 bash 一样传递一些参数,例如,

更新:
我认为需要运行时或进程的包装器,例如,

0 投票
1 回答
160 浏览

jshell - JShell:访问由片段创建的对象

我对某些事情感到非常困惑,我希望能在这里得到一些见解。

假设我想构建一个图形用户界面,可视化 JShell 内部发生的事情,即片段创建的对象如何相互引用,以及片段创建的对象包含在我运行的 JShell 实例中。我如何访问这些对象,最重要的是,我如何访问它们如何相互引用?

一个具体的例子:我创建了一个 JShell 实例,将用户创建的一些片段传递给它,这会导致创建一个 ArrayList、一些对象,并将所述对象添加到所述 ArrayList 中。

如何访问此 ArrayList 和其中包含的对象以在 GUI 中可视化它?

进一步澄清:

如何访问“allObj”?

如何访问“tst”及其指向的对象?(“tst”指向的“TestObject”实例);

我知道 eval() 返回一个包含更改/添加的片段的 SnippetEvents 列表,但是,我无法理解如何访问由这些片段创建的对象。

0 投票
8 回答
12386 浏览

java - 'jshell' 未被识别为内部或外部命令

jshell在我的机器上使用 ' 命令,它无法识别。但是java命令工作正常。jshelljdk 10中是否有任何环境设置

0 投票
2 回答
172 浏览

java - 在 JShell 上执行时同一语句的不同行为

我正在解决一个问题,将两个类的引用相互存储

例如:

现在如果不是上面的初始化,如果我使用下面的语句:

我得到了以下非常明显的错误:

但是,如果我在 JShell 上尝试相同的操作,它就可以正常工作(只是为了更加确定它variable a从未被初始化,我variable a在执行确认它之前未初始化的语句之前检查过:

在此处输入图像描述

可能是我在这里遗漏了一些东西,但是有人可以帮助我理解为什么在 JAVA 中执行同一语句有两种不同的行为。

理解这个问题的一个简单方法是允许在正常程序中使用以下语句,Jshell但在正常程序中不允许:

0 投票
0 回答
61 浏览

beanshell - 使用 JShell 编写应用程序扩展

目前我使用 Beanshell 编写应用程序扩展。我只是使用 BshMethod.invoke() 将它与 java 应用程序集成。

这也可以用 JShell 完成吗?加载脚本并执行脚本中的方法?通过 JShell API,而不是通过 cmdline ...

0 投票
1 回答
107 浏览

java - Jshell - 为什么 System.out.printf 填充这个答案

任何人都可以帮助我找出我正在做的错误。预期打印4%2为 0。我尝试了两种方式。

在此处输入图像描述

0 投票
3 回答
4612 浏览

java - 尝试在 Ubuntu 上运行 jshell 时,当前未安装程序“jshell”

我已经下载并“手动”安装了 JDK 10 for Linux 64 位版本(适用于 Ubuntu 16.04)、 Oracle Java SE 开发工具包 (注意:我想下载 Java9 JDK,但不再受支持,我被称为 Java 10 SE开发工具包)。

当我尝试jshell从终端窗口运行时,出现以下错误,

当前未安装程序“jshell”。要运行“jshell”,请让您的管理员安装软件包“openjdk-9-jdk-headless”您必须启用名为“universe”的组件

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

我不知道为什么当我安装了经典的 java 版本时,消息要求我安装 openjdk。当我运行“which jshell”时,我没有返回任何详细信息。

谁能帮我jshell安装和工作?

0 投票
3 回答
601 浏览

java - JShell Edit Pad 不执行/运行代码片段

我对 jshell 和 Java 非常陌生,并且 jshell 编辑板不接受或将代码片段传输到 jshell 时遇到问题。当我输入下面的代码片段并按“接受”和“退出”时,什么也没有发生。jshell 终端窗口中没有显示任何错误消息,并且我的屏幕上没有显示该窗口。代码似乎没有运行。

但是,当我将相同的代码片段直接输入到 jshell 窗口(命令提示符)中时,该窗口会正常显示。可能出了什么问题?我犯了什么错误?

我注意到我能够得到简单操作的结果,例如2+2;在按“接受”后在 jshell 控制台窗口中显示答案,但输入到默认编辑板的实际代码似乎根本没有运行。

我正在运行 Windows 10,并且安装了最新版本的 JDK 8 和 10。

谢谢您的帮助!

0 投票
1 回答
275 浏览

java - Windows 上的 Java Shell 行输入

Windows 上的 Java Shell REPL 行输入的行为方式与大多数其他 Windows 控制台应用程序中行输入的行为方式不同:

  1. Ctrl+向左箭头组合键不会转到上一行的开头。
  2. 文件结尾字符是 Ctrl+D(类似于 Unix)而不是 Ctrl+Z。
  3. 使用水平箭头键滚动时光标消失。
  4. 打字时有一个短暂的延迟(大约 0.1 秒),直到出现输入的每个字母。

Java 9 和 10 都会发生这种情况。相比之下,Kotlin REPL 没有表现出这种奇怪的行为。Java 的BufferedReader.readLine()orScanner.nextLine()方法在使用System.in, 或时也没有System.console().readLine()

我的问题:

  • 为什么 Java Shell 使用这种行输入?(我的意思是它是否提供了任何特殊的好处来弥补它更难使用?)

  • 是否有配置告诉它使用正常的用户输入方法?

  • 它使用什么 Java API 方法来读取用户输入(只是为了让我记得不要自己使用它)?

0 投票
2 回答
749 浏览

debian - Java 10:System.out.println(...) 的“未找到文档”

在 debian 10 上,我使用apt-get install openjdk-10-jdk openjdk-10-doc. 我打电话jshell并想获得的文档System.out.println(...),但得到一个错误<no documentation found>

我认为这与如何在 JShell 中提供 javadoc 文档无关?因为我想获取一些标准方法的文档。(这个问题以错误https://bugs.openjdk.java.net/browse/JDK-8188142结尾。问题是类路径定义不正确)。

如何获取文档jshell