解决Ubuntu上java和javac之间的版本冲突

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (9)

我在Ubuntu上编译的Java应用程序出现问题。它抛出UnsupportedClassVersionError。我正在编译的JDK版本比在我的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)

我该如何解决这个问题?

提问于
用户回答回答于

运行以下任一项以查找该位置的位置

javac 1.7.0_147

使用如下:

whereis javac

要么

 locate javac

要么

find javac

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

sudo ln -f -s [put location here]/bin/* /usr/bin
用户回答回答于

在终端中键入以下命令:

  sudo update-alternatives --config java

它会问你:

有两种选择替代java(提供/ 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

扫码关注云+社区