簡體   English   中英

Java編譯器版本和java版本不同

[英]Java compiler version and java version is different

我試圖運行一個編譯的java類並獲得錯誤,但當我檢查我的java環境時,它指向不同的版本。

Javac -version給了我1.8.0

Java -version給了我1.6.2

Java_home和路徑指向1.8版本。

請幫忙。

Windows下的Java安裝有時是一個非常嚴重的痛苦來源。 以下假設您擁有Windows:

  1. 檢查你的路徑變量
  2. 檢查JAVA_HOME變量
  3. 較新版本的Java(1.6 ?,但1.7和1.8)將一些Java可執行文件復制到Windows安裝的System32目錄中。 只需刪除此文件(或將其移動到其他位置以便於恢復)
  4. 通過使用.bat文件運行java應用程序,可以提供特定的JDK / JRE。

您的問題可能有更多來源。 例如,使用Maven,您依賴於JAVA_HOME,使用Eclipse,您可以使用項目設置,...

java.exe java安裝復制到System32目錄下時的java.exe 此外,我們傾向於在path變量的末尾附加java路徑。 這會導致運行java命令指向System32命令(它接受遇到的第一個路徑值並忽略rest,在本例中為system32文件夾的java)。 當它找不到javac時,它會查找path其他值,並在java JDK的末尾找到它(這是你要使用的那個)。為了解決這個問題,給出JDK的路徑,例如C:\\ProgramData\\Oracle\\Java\\bin作為windows path變量的第一個條目。 甚至在你的system32入門之前。 這可以確保您只指向一個java。 我的路徑條目看起來像這樣: -

%JAVA_HOME%\bin;%SystemRoot%\system32;

請檢查以下內容:

1)檢查您的路徑變量

2)檢查JAVA_HOME變量

3)從system32文件夾中刪除java,javaw和javaws .exe文件

如果您運行的是Windows,則可以檢查路徑環境變量。 它可能指向較舊的JRE安裝。

一種可能是您的Java鏈接不一致。 轉到此位置(Windows):

C:\\ProgramData\\Oracle\\Java\\javapath並檢查java.exe指向的位置。

如果它不是最新的,請考慮修復它:

mklink /d C:\ProgramData\Oracle\Java\javapath "C:\Program Files\Java\<your JDK>\bin\"

(您可能需要在創建新鏈接之前刪除javapath舊鏈接)

暫無
暫無

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

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