2013-01-06 18 views
1

我最近在我的ubuntu服務器上安裝了open-jdk 7。 但版本仍顯示爲:在ubuntu下運行java代碼的錯誤

java version "1.6.0_24" 
OpenJDK Runtime Environment (IcedTea6 1.11.3) (6b24-1.11.3-1ubuntu0.12.04.1) 
OpenJDK Server VM (build 20.0-b12, mixed mode) 

如果我嘗試運行Java程序,我得到了FOLL例外:

Exception in thread "main" java.lang.UnsupportedClassVersionError: hello : Unsupported major.minor version 51.0 

這是一個更高版本的JDK編譯程序的結果並嘗試在較低的一個運行。 我該如何糾正這一點。

編輯:但是當我做javac -version時,我得到了javac 1.7.0_09作爲響應。

+0

有一個javac標誌告訴它編譯,所以它與低版本兼容。 – Krease

回答

1

這聽起來像:

1)已經安裝Java的多個版本(這是完全可以做)......還有......

2)「的javac」被撿正確的版本......但「java」正在挑選不同的版本。

SOLUTION:

update-java-alternatives

例如,看看這個鏈接:

https://askubuntu.com/questions/64329/how-to-replace-openjdk-6-with-openjdk-7

# EXAMPLE: 
$ update-java-alternatives -l 
java-1.6.0-openjdk 1061 /usr/lib/jvm/java-1.6.0-openjdk 
java-1.7.0-openjdk-amd64 1051 /usr/lib/jvm/java-1.7.0-openjdk-amd64 
$ sudo update-java-alternatives -s java-1.7.0-openjdk-amd64 
+0

謝謝。像魅力一樣工作。 –

+0

我的榮幸 - 很高興幫助:) – paulsm4

0

移動源代碼並在ubuntu盒子上重新編譯?

+0

我再次重新編譯它,但它不工作。當我安裝open-jdk 7時,我的jdk版本沒有變化。不知道版本51.0是否表示它符合jdk 7.但是當我執行javac -version時, javac 1.7.0_09 –

0

也許是新安裝的JDK是在另一個目錄中,這不是你的$的一部分PATH(很常見)。我會做一個find/-name「javac」並查看找到了多少條目。

您可能會發現不止一個。