无法在 Eclipse 中切换合规性级别

无法在 Eclipse 中切换合规性级别

因此,在阅读另一篇问题帖子后,我意识到我的问题已经改变。本质上,问题在于为什么我无法将 Eclipse 中的合规级别从 1.6 更改为 1.7,但我将保留问题主体,就像最初输入的那样。

这是一个非常具体的问题,但我正在学习一系列在线 Java 课程,其中一节课涉及 switch。示例代码使用带有字符串的 switch(课程和我都使用 Eclipse)。当我尝试运行代码时,它给出一个错误,指出“对于低于 1.7 的源级别,无法切换 String 类型的值。只允许可转换的 int 值或枚举常量”

我理解这是因为 Java 7 中的字符串只能与 switch 一起使用。因此,我使用在线找到的一些说明在终端中安装 Java 7。之后 Eclipse 根本无法运行。我去切换回 Java 6,发现我正在运行 Java 7 Oracle,但可以选择更改为 Java 7 OpenJDK,所以我这样做了。Eclipse 再次运行,但我仍然收到与以前相同的错误。为什么会这样?有办法修复它吗?

对于一些附加信息,这是我在输入“sudo update-alternatives --config java”在版本之间切换时终端返回的内容。

glitch@glitch-Inspiron-1720:~$ sudo update-alternatives --config java
[sudo] password for glitch: 
There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                           Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-oracle/jre/bin/java         1062      auto mode
  1            /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java   1061      manual mode
* 2            /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java   1051      manual mode
  3            /usr/lib/jvm/java-7-oracle/jre/bin/java         1062      manual mode

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

正如您所看到的,我目前正在使用 java-7-openjdk,而之前我使用的是 java-7-oracle(这导致 Eclipse 无法正常工作),而在此之前我假设我使用的是 java-6-openjdk(毕竟这是我运行 Minecraft 的,但谁知道呢)。

更具体地说,我正在使用:

glitch@glitch-Inspiron-1720:~$ java -version
java version "1.7.0_55"
OpenJDK Runtime Environment (IcedTea 2.4.7) (7u55-2.4.7-1ubuntu1~0.12.04.2)
OpenJDK Server VM (build 24.51-b03, mixed mode)

我看了这个问题:无法从 Eclipse 使用 Java 7?

我尝试按照其中给出的说明进行操作,直到将属性> Java 编译器> 合规级别更改为 1.7

我发现我的 JVM 的位置是 /usr/lib/jvm/,但是当我将其放入 Eclipse 中的 JRE home 时,它​​给出了这个错误:“目标不是 JDK Root。未找到 Java 可执行文件”

我很沮丧。有人能帮忙吗?另外,请原谅我的无知,我对这一切都很陌生。

答案1

解决了!我卸载并重新安装了 Java,并将 JVM 的位置更改为/usr/lib/jvm/java-1.7.0-openjdk-i386。解决方案比我想象的要简单得多。现在我觉得自己很傻。

相关内容