簡體   English   中英

如何在 JShell 中設置 Java 版本?

[英]How to set the Java version in JShell?

我正在使用JDK 11 中的 JShell來試驗一些具有泛型的行為。

我想將解釋的 java 版本設置為版本 8。這將允許我具有與Java Language Specification 8 中定義的相同的類型推斷行為。

我該怎么做?

您要申請的標志是:

"-source 8"

將其傳遞給 JShell 后面的編譯器的方法是:

"jshell -C "-source 11"

......但它不會工作。 我剛剛試過了,Jshell 無法解析這個異常。 不應該是這樣,所以我查看了拋出錯誤的 Arguments 類的代碼。 結果證明, javac選項被分為不同的類別,並且只允許通過 JShell (com.sun.tools.javac.main.Option.java:1308)使用BASIC命令

設置源標志不屬於該組,因此驗證器將其丟棄並且不會應用該設置。

如果您想驗證這一點,您可以嘗試將 BASIC 類型的參數傳遞給 javac,例如“-p”,您將看到它正確傳遞。

這是不可能的,JShell 工具使用 Java 平台模塊系統 (JPMS),這是一個 Java 9 功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM