提問:當我嘗試在Linux中運行一個Java程序時,我遇到了一個錯誤。看上去像程序編譯所使用的Java版本與我本地的不同。我該如何在Linux上切換默認的Java版本?
當Java程序編譯時,編譯環境會設置一個“target”變量來設置程序可以運行的最低Java版本。如果你Linux系統上運行的程序不能滿足最低的JRE版本要求,那麼你會在運行的時候遇到下面的錯誤。
Exceptionin thread "main" java.lang.UnsupportedClassVersionError: com/xmodulo/hmon/gui/NetConf:Unsupported major.minor version 51.0
比如,程序在Java JRE 1.7下編譯,但是系統只有Java JRE 1.6。
要解決這個問題,你需要改變默認的Java版本到Java JRE 1.7或者更高(假設JRE已經安裝了)。
首先,試用下面的update-alternatives命令檢查你系統上可用的Java版本:
$ sudo update-alternatives --display java
本例中,總共安裝了4個不同的Java版本:OpenJDK JRE 1.6、Oracle Java JRE 1.6、OpenJDK JRE 1.7 和 Oracle Java JRE 1.7。現在默認的Java版本是OpenJDK JRE 1.6。
如果沒有安裝需要的Java JRE,你可以參考這些指導來完成安裝。
現在有可用的候選版本,你可以用下面的命令在可用的Java JRE之間切換默認的Java版本:
$ sudo update-alternatives --config java
看到提示的時候,選擇你想試用的Java版本。本例中,我們選擇Oracle Java JRE 1.7。
現在用下面的命令驗證默認的Java版本。
$ java -version
最後,如果你定義了JAVA_HOME環境變量,根據你設置的Java版本更新變量。
via: http://ask.xmodulo.com/change-default-java-version-linux.html
作者:Dan Nanni 譯者:geekpi 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出