2015-11-23 92 views
0

我一直在試圖編譯通過javac的一個小的Java文件,但已經越來越錯誤「類文件有錯誤的版本52.0,應該是49.0」Reconfusing自己對Java和編譯版本

在尋找這個錯誤了,我發現這是發生的,因爲我有不同版本的Java和不同版本的編譯器。

我並不完全精通於這裏的差別,但我對Java的以下版本我的機器上:

Java 7u77 
Java 8u65 
Java 8u66 
Java SE Development Kit 8 Update 66 
Java 6 Update 38 
Java SE Development Kit 6 Update 38 

對我來說,它看起來加時賽我,就像我有一個Java版本相同和SDK(8u66),但我不確定它爲什麼會導致失敗。

做在cmd中一個-version,我看到一個類似的版本:

c:\ServletDevel>java -version 
java version "1.5.0_30" 
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_30-b03) 
Java HotSpot(TM) Client VM (build 1.5.0_30-b03, mixed mode) 

c:\ServletDevel>javac -version 
javac 1.5.0_30 
javac: no source files 
Usage: javac <options> <source files> 

有沒有辦法,我使用的是舊版本的SDK的機會嗎?還是舊版本的Java?該計劃是使用Java 8u66版本

+1

檢查您的環境路徑以找出引用哪個版本的java。 – Raf

+1

必須在'Path'環境變量中找到java運行時java.exe。將其替換爲bin子目錄中最新Java版本的路徑。 –

+1

基於命令輸出,我們知道正在執行什麼版本的java和javac,都是「1.5.0_30」......有趣的是,它不在OP所說的安裝版本列表中。您是否嘗試通過提供所需的完整路徑到特定版本的java.exe和javac.exe進行編譯和運行? – Anssssss

回答

1

您有不同版本的Java安裝在您的系統中,您的路徑似乎指向最古老的Java版本。

您需要做的是設置路徑,以便找到最新版本的Java。執行以下步驟:

  1. 我的電腦,選擇屬性
  2. 從左邊的菜單上右鍵單擊選擇,高級系統設置
  3. 一旦系統設置窗口中打開,然後單擊「高級」選項卡上
  4. 在高級選項卡,選擇「環境變量」按鈕,將打開不同的窗口
  5. 在另一個窗口中找到「路徑」從系統變量列表
  6. 點擊Path變量和塞萊變量ct編輯
  7. 附加(不要覆蓋或刪除路徑變量的內容,只能使用分號作爲分隔符追加)最新JDK在路徑變量中的位置。
  8. 單擊應用並確定,然後關閉命令提示符並重新打開它並再次檢查java的版本。

的路徑應該包含的東西,如附在下面的舊值(取決於你的JDK的位置):

C:\Program Files\Java\jdk1.8.0_65\bin 

不要忘了把半色(;)副本前/粘貼最新Java JDK的路徑。

看到這個問題Environment variables for java installation超級明確的指示如何做到這一點。

1

您正在使用java 1.5.0_33-bo3。

要使用另一個java,您需要更新指向您最喜歡的jdk版本的路徑。

注意:如果多於一個路徑指向java的可執行文件,則首先進入帳戶,因此請在開始時添加路徑,而不要在現有路徑的末尾添加路徑。

2

Java類的版本52的Java類8版49是Java 5的 ,因爲你正試圖從Java用java 8類文件用javac您收到此錯誤5