我的两台笔记本电脑遇到一个相当奇怪的问题,一台运行 Manjaro Linux(Arch for Children),另一台运行 Ubuntu 20.10。当我使用杰壳读取-评估-打印循环工具爪哇11,我无法粘贴到 Jshell 中,不是用鼠标,不是用ctrl+p我制作了一个小视频来演示这个问题。
它只发生在Jshell中,正常的bash不受影响。 (echo
第一个视频开头的命令运行良好)
https://www.mediafire.com/file/xjy9i8np16zfuit/Peek+2021-06-15+18-03.mp4/file(小于 1 MB 大)
我做了另一个记录,显示在 ether xfce4 终端或 st 终端中将一串字符粘贴到 jshell 中后它会冻结,直到在看似冻结的 jshell 中键入 17 个字符,此时出现粘贴的文本以及冻结后键入的字符。 (如果我使用字母而不是视频中的数字,则输出如下所示:
jshell> System.out.println("This is a Test...")abcdefghijklmnopqrs
in both st and xfce4 terminal
https://www.mediafire.com/file/m2asx0y5tatnj89/Peek+2021-06-15+18-36.mp4/file(1.3 MB)
两台机器上使用的Java版本是:
openjdk 11.0.11 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9)
OpenJDK 64-Bit Server VM (build 11.0.11+9, mixed mode)
如果这应该是 Java 板的一个问题,您能给我指出一个吗?
答案1
这可能是由于以下问题造成的:https://bugs.openjdk.java.net/browse/JDK-8242919
Trying to paste to jshell causes a deadlock.
不久前,这个问题已在 Java 15 中修复,但最近才向后移植到 11u(应该在 11.0.12 中修复)
答案2
使用
OpenJDK11U-jdk_x64_linux_hotspot_11.0.10_9
直到出现带有@Jorn 指出的修复程序的新版本