1

我最近在我的 ubuntu 服务器中安装了 open-jdk 7。但版本仍显示为:

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 程序,我会得到以下异常:

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

这是用更高的 jdk 编译程序并尝试在更低的 jdk 中运行的结果。我该如何纠正这个。

编辑:但是当我做 javac -version 我得到 javac 1.7.0_09 作为响应。

4

3 回答 3

1

这听起来像:

1)您安装了多个版本的Java(这完全可以!)......和......

2)“javac”选择了正确的版本……但“java”选择了不同的版本。

解决方案:

更新-java-替代品

例如,看看这个链接:

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
于 2013-01-06T04:10:07.397 回答
0

将源代码移过来并在 ubuntu 机器上重新编译?

于 2013-01-06T03:56:14.097 回答
0

可能新安装的 JDK 位于另一个不属于您的 $PATH 的目录中(非常常见)。我会做一个 find / -name "javac" 并查看找到了多少条目。

你可能会发现不止一个。

于 2013-01-06T04:10:52.403 回答