亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我需要做什么來解釋這個 Java 程序?

我需要做什么來解釋這個 Java 程序?

呼如林 2021-10-20 14:31:48
我剛剛開始使用Java。我一直在按照這個問題的答案中的說明來編譯和運行我的第一個 Java 程序。我剛剛安裝了 JDK 11 并將路徑設置為C:\Program Files\Java\jdk-11\bin. 完成后,我已經能夠使用以下命令編譯我的程序:javac HelloWorld.java(該文件名為HelloWorld.java。)因此HelloWorld.class,目錄中會出現一個名為的文件。現在我嘗試使用以下命令運行程序:java HelloWorld這不起作用。我得到以下輸出:Error: A JNI error has occurred, please check your installation and try againException in thread "main" java.lang.UnsupportedClassVersionError: HelloWorld has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0    at java.lang.ClassLoader.defineClass1(Native Method)    at java.lang.ClassLoader.defineClass(Unknown Source)    at java.security.SecureClassLoader.defineClass(Unknown Source)    at java.net.URLClassLoader.defineClass(Unknown Source)    at java.net.URLClassLoader.access$100(Unknown Source)    at java.net.URLClassLoader$1.run(Unknown Source)    at java.net.URLClassLoader$1.run(Unknown Source)    at java.security.AccessController.doPrivileged(Native Method)    at java.net.URLClassLoader.findClass(Unknown Source)    at java.lang.ClassLoader.loadClass(Unknown Source)    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)    at java.lang.ClassLoader.loadClass(Unknown Source)    at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)我看過這個問題,結合我收到的錯誤消息向我表明,無論 Java 正在運行我的程序,它都適用于比我的編譯器正在生成的舊版本文件。按照上述問題的答案的建議,我嘗試運行javac -target 8 HelloWorld.java. 但是,這也不起作用。我收到以下警告:warning: target release 8 conflicts with default source release 11并且沒有HelloWorld.class被創建。我有一種感覺,我需要 Java Runtime Environment 11,但我不知道您是如何獲得它的。搜索諸如“get JRE 11”之類的查詢會將我返回到提供“版本 8”的主要 Java 下載頁面。附錄:我保存的目錄HelloWorld.java稱為java,如果這有什么不同的話。
查看完整描述

3 回答

?
HUWWW

TA貢獻1874條經驗 獲得超12個贊

您的計算機上似乎安裝了 Public JRE 8。公共JRE復制它的安裝java.exejavaw.exeC:\Windows\System32和做您的Windows其他一些變化,比如在你的注冊表更改。該C:\Windows\System32目錄PATH默認注冊在環境變量的系統部分。在 Windows 中,您有PATH環境變量的系統和用戶定義,系統部分首先出現在最終PATH環境變量中。您可以PATH通過pathcmd窗口中運行命令來檢查最終結果。因此,當您運行java第一個java.exeWindows 時,找到并實際運行的是C:\Windows\System32目錄中的一個,這java.exe是無法運行較新 Java 類的 Public JRE 8。

與以前的 JDK 版本不同,JDK 11 沒有 Public JRE,因此在您安裝 JDK 11 之后,您的 Public JRE 8 并未升級。只需卸載所有公共 JRE,這將解決您的問題。您可以保留以前安裝的 JDK,它們不會打擾您。


查看完整回答
反對 回復 2021-10-20
?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

您必須設置 Java 娛樂變量的 PATH。你可以按照截圖 

http://img1.sycdn.imooc.com//616fb80f0001b83516750806.jpg

查看完整回答
反對 回復 2021-10-20
?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

發生這種情況是因為 JRE 版本和 JDK 版本不匹配。

看起來您已經在系統中安裝了 JRE 8,但您使用的是 JDK 11 。 請瀏覽這個維基百科

舊版本的 JAVA RUN ENGINE 無法執行新版本的 java 類。要執行,您始終必須創建相同版本的類。

在這里,您只需編寫此命令即可執行代碼

編譯使用

javac HelloWorld.java --release 8

然后執行

java HelloWorld


查看完整回答
反對 回復 2021-10-20
  • 3 回答
  • 0 關注
  • 183 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號