【问题标题】:JShell won't execute anything using Git BashJShell 不会使用 Git Bash 执行任何操作
【发布时间】:2018-03-12 03:06:10
【问题描述】:

我安装了适用于 Windows 的 Java9(当前在 Oracle's site 上可用的版本)(Windows 10 x64 Professional,也是最新的,作为 vmware 虚拟机 ->VMware Workstation 12 运行)。我将jdk\bin添加到用户路径并尝试使用Git Bash执行命令,但是即使JShell启动,按下Enter后它也不会执行任何命令,它只是坐在那里没有做任何事情。

有趣的是它与 Windows 的默认命令行 CMDPowershell 完美配合。如果我没记错的话,Git Bash 是基于 Cygwin 的。这可能是什么原因?

另外,它没有直接连接到JShell,但我在使用一些命令行工具的另一台机器上遇到了类似的问题,例如JHipster(适用于 CMD,但不适用于 GitBash)。

强制截图:-

编辑:使用jshell -v 并没有什么不同。此外,使用任何 REPL 辅助命令,如 /help/help intro 也会使 shell 停止。

【问题讨论】:

  • 您能否尝试使用命令jshell -v 以详细模式启动 jshell,并查看是否有任何与失败有关的日志。
  • @nullpointer 以jshell -v 开头没有区别。

标签: java git-bash java-9 jshell


【解决方案1】:

我遇到了同样的问题。解决方法很简单:

"如果您在 Windows 上使用 git bash 作为 shell,请在调用 jshell ... 之前添加 winpty

这是来源:https://kichwacoders.com/2017/05/25/woohoo-java-9-has-a-repl-getting-started-with-jshell-and-eclipse-january/

这是 jshell 在 Git Bash 中失败:

这是使用 winpty 时在 Git Bash 中工作的 jshell

也许这种方法也能解决您的 JHipster 问题?

[更新以显示更清晰的屏幕截图]

【讨论】:

  • 您是构建 winpty 还是使用发行版?我下载了winpty-0.4.3-cygwin-2.8.0-x64.tar.gz,但坦率地说,对于如何处理其中的所有文件有点困惑。
  • “你是构建 winpty 还是使用发行版?” => 两者都没有。我在 Win10 上并使用了安装 Git 时捆绑的 Git Bash,我不需要做任何其他事情 - winpty 就在那里。但要明确的是,如果你想在 Windows 上使用 jshell,只需打开一个 cmd 窗口。这里的问题特别涉及在 Windows 上的 Git Bash 窗口中使用 jshell。 (还是我误解了你的问题?)
  • @skomisa 感谢您的澄清。从那以后,我想出了如何获得 winpty 并使用它来启动 JShell,这就是我遇到的问题(结果我有错误的 winpty 版本,34 位和 64 位)。 :D
猜你喜欢
  • 2021-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-11
  • 2020-07-30
相关资源
最近更新 更多