【问题标题】:Can't switch to compiler compliance level 1.8 in Eclipse Helios无法在 Eclipse Helios 中切换到编译器合规级别 1.8
【发布时间】:2016-07-10 05:01:32
【问题描述】:

我对 eclipse 和编程很陌生,目前我正在尝试从 caveofprogramming.com 的教程中学习 java 当我尝试学习一个基于 switch 的教程时,一个错误一直困扰着我。

import java.util.Scanner;

 public class App{

public static void main(String[] args){

 Scanner input = new Scanner(System.in);

 System.out.println("enter a number");

 String text = input.nextLine();

 switch(text) {

 case "start";

 System.out.println("Machine started");

 break; }  }   }

它给了我一个关于 switch 命令的错误:

无法打开字符串类型的值。只允许使用 int 值或枚举常量

caveofprogramming.com 的 John Purcell 建议这是因为编译器合规级别目前为 1.4,他说我将其切换到 1.8 但它在那里不可用。1.6 是我可以使用的最后一个级别。

【问题讨论】:

  • @shivam 我可以将我的 eclipse 从 helios 升级到 juno 或更高版本吗?
  • 您应该从 2014 年至少升级到 4.4 (Luna) 以获得完整的 Java 8 支持。不妨更新当前版本,即4.6(Neon),上个月刚刚发布。
  • @NihalJalaluddinP 是的,将它更新到最新版本.. 它会工作
  • @shivam 如何从 helios 更新到更高版本?

标签: java eclipse compiler-errors java-8


【解决方案1】:

下载并安装current Eclipse version。 Eclipse 有一个内置的 Java 编译器。在 Java SE 1.7 中添加了开启 Strings。 Java SE 1.4 是一个非常古老的 Java 版本。使用那么旧的 Java 版本学习编程并不是一个好主意。

另外,正如其他答案所建议的那样,安装最新的 JDK。

【讨论】:

  • 我目前正在下载 eclipse neon。但我已经有 helios。有什么问题吗?
  • 要安装 Eclipse,您只需解压缩它的 zip 存档。因此,我认为您在安装 Neon 之前绝对不必删除 Helios。但保留它可能没有意义。
【解决方案2】:

您的朋友说这是因为编译器合规级别是正确的。为了能够解决您的问题,您的编译器必须是 1.7 或 1.8 版本。如果您使用的是 IDE,则需要 download a JDK 以匹配您需要的任何版本(建议使用 1.8,因为它不是 EOL'd)。如果您使用的是 Maven,则可以使用 Maven Compiler Plugin 更改编译器级别。

【讨论】:

  • 目前是否正在使用 Helios 以任何方式直接从 Helios 升级到 Luna 或 Neon?
  • 我不知道。虽然我不确定你为什么现在选择升级,除非编译器有 JDK 限制,否则每次都可以进行干安装。
  • Java 8 于 2014 年 3 月发布。Helios 的最后一个维护版本是在 2011 年 2 月。Java 8 还不存在。甚至 Java 7 也不会发布几个月。 Eclipse 使用内部编译器,因此需要更新。
猜你喜欢
  • 1970-01-01
  • 2014-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-04
  • 1970-01-01
  • 2013-12-22
相关资源
最近更新 更多