21

我在 Ubuntu 上编译的 Java 应用程序有问题。它抛出UnsupportedClassVersionError。我正在使用比在我的 PATH 中配置来运行 Java 的版本更高的 JDK 版本进行编译:

$ javac -version
javac 1.7.0_147

$ java -version
java version "1.6.0_23"
OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre11-0ubuntu1.11.10.2)
OpenJDK Client VM (build 20.0-b11, mixed mode, sharing)

我该如何解决这个问题?

4

5 回答 5

27

在终端中输入以下命令:

  sudo update-alternatives --config java

它会要求您:

替代 java 有 2 种选择(提供 /usr/bin/java)。

  Selection      Path                                            Priority   Status

    0           /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      auto mode

    1           /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      manual mode

    2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java  1051      manual mode


  Press enter to keep the current choice[*], or type selection number:

我输入 2 因为我想使用 java 1.7.0_21

于 2013-05-28T07:58:44.123 回答
21

您还需要执行以下操作:

sudo update-alternatives --config javac

从提供的列表中选择所需的 java 编译器。例如在 Centos 5

There are 2 programs which provide 'javac'.
Selection    Command
-----------------------------------------------
1           /usr/lib/jvm/java-1.6.0-openjdk/bin/javac
*+ 2        /usr/lib/jvm/java-1.7.0-openjdk/bin/javac
于 2015-06-17T06:58:08.947 回答
8

运行以下任一命令以找到该位置的位置

javac 1.7.0_147

使用如下:

whereis javac

或者

 locate javac

或者

find javac

然后,一旦您找到该目录,将 bin 内容象征性地强制链接到 /usr/bin:

sudo ln -f -s [put location here]/bin/* /usr/bin
于 2012-05-14T14:36:55.903 回答
3

这就是你想要的Java 和 Ubuntu。我基本上有相同的配置,但我在 Glassfish 和 Java7 之间来回切换。看看并尝试以类似的方式设置您的 Java 环境

于 2012-05-14T14:27:48.370 回答
2

我已经添加并安装了 Java 和 Javac 的替代品,以下步骤对我有用:

步骤 1添加 Java 和 Javac 替代方案

添加 Javac 的命令:

sudo update-alternatives --install "/usr/bin/java" "java" "/opt/amazon-jdk-11/bin/java" 1 

即:“/opt/amazon-jdk-11/bin/javac”这是java的新路径

sudo update-alternatives --install "/usr/bin/javac" "javac" "/opt/amazon-jdk-11/bin/javac" 1

即:/opt/amazon-jdk-11/bin/javac 是 javac 的新路径

第 2 步安装 Java 和 Javac 替代品

sudo update-alternatives --config javac
sudo update-alternatives --config javac

输入上述命令后,您将能够看到如下所示的屏幕,您可以选择要配置 java 的号码。

在此处输入图像描述

我在列表中选择了“ 1 ”,因为我想安装“/opt/amazon-jdk-11/bin/java”作为我的 javac。

使用以下命令验证您的Java 替代安装是否成功

which javacwhich java 将能够看到如下屏幕:

在此处输入图像描述

于 2019-11-25T10:38:37.183 回答