我正在使用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