java和javac的在Ubuntu之间解决版本冲突(Resolving version confl

2019-07-29 09:19发布

我在Ubuntu我编译Java应用程序的问题。 它抛出UnsupportedClassVersionError 。 我有一个更高的JDK版本比在我的路径运行的Java配置的一个编译:

$ 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)

我怎样才能解决这个问题?

Answer 1:

此时可以采取如下的定位,其中位置是该

javac 1.7.0_147

被使用如下:

whereis javac

要么

 locate javac

要么

find javac

然后,一旦你找到的目录,在bin目录象征性地和有力地链接到/ usr / bin中:

sudo ln -f -s [put location here]/bin/* /usr/bin


Answer 2:

键入以下在终端coomand:

  sudo update-alternatives --config java

它会问你:

有2个选择用于替代的java(提供的/ usr /斌/ 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



Answer 3:

您还需要做到:

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


Answer 4:

这是你想要的Java和Ubuntu的 。 我有相同的基本配置,但我从Glassfish和Java7来回切换。 看看,并尝试以类似的方式设置你的Java ENV



文章来源: Resolving version conflict between java and javac on Ubuntu