我正在使用Windows 10并运行昨天由Oracle发布的Java 9版本。在Java 9上,为什么来自System.getenv()的输出在jshell中不完整?
如果我打开一个jshell并输入的System.out.println(System.getenv())输出是象预期的那样显示在下面的屏幕截图的下部。
但是,如果我只是输入System.getenv(),那么输出中间会有大量数据缺失。看到下面的屏幕截图的最初部分。这似乎是jshell的一个特性,因为在System.getenv()(在手绘黄色边缘的第二个框内)的输出中的省略号(“...”)之下的屏幕截图正好对应于缺失的数据。
对环境变量COMMONPROGRAMFILES端部丢失,因为是环境变量SPRING_HOME的开始,并且有几个其他的环境变量未示出的在所有如路径。
(屏幕拍摄了一些信息已经模糊的隐私。)
没有任何人看到同样的事情(或没有),而且没有人对为什么jshell建议是这样做?
啊,从你的链接看来你可以使用“/ set truncation ...”来配置它。然而,我仍然无法弄清楚在jshell中指定什么,以防止冗长的输出被截断... –
skomisa
@skomisa我编辑了答案,以便它实际上显示如何调整截断。我不认为可以完全防止它,但是这个答案显示了如何将显示的字符数设置得非常高。 – Matthew
您的配置命令对我来说非常合适。如果输出被截断,我还找到一个链接来解释省略号的位置:https://bugs.openjdk.java.net/browse/JDK-8166637 – skomisa