【问题标题】:eclipse magic: ... Syntax error, varargs are only available if source level is 1.5 or greatereclipse 魔术:...语法错误,可变参数仅在源级别为 1.5 或更高版本时可用
【发布时间】:2009-11-15 05:54:14
【问题描述】:

昨天我在eclipse中做了一个项目,它正在工作,正在编译。我将 Eclipse Galileo 用于 Java EE。今天我打开eclipse,看到很多错误说东西不可用,只有在源级别为1.5时才可用。

怎么办?

【问题讨论】:

  • "Eclipse magic" 应该是一个 SO 标签。 IDE 很棒,但是这些奇怪的行为太多了。

标签: java eclipse


【解决方案1】:

检查这是否有效:

  1. 转到您项目的Properties
  2. 在“属性”对话框中,选择左侧树中的 Java Compiler 节点。
  3. 最后将Compiler compliance level设置为1.5或更高。
  4. 重建项目。

【讨论】:

  • 我在 JDK Comliance 1.7 中遇到了这些错误。我只是切换到 1.6,让它构建,切换回 1.7 并重新构建它。这对我有用。
  • 起初我认为问题在于使用 Oracle Java 8 和旧版本的 Eclipse(取自 Ubuntu 软件中心的靛蓝),但这确实是问题所在。
  • 如果这不起作用,请尝试将合规性更改为 1.5 并返回到您需要的任何内容。这对我有用。
  • 我在使用 1.7 时遇到了这个问题。所以我回到了 Munchies 提到的 1.6,但这导致了其他不兼容。所以我切换回 1.7,重建后一切都很好!所以我想重建可能是解决某些问题所需的全部。
【解决方案2】:

单一答案无法解决我的问题,所以我使用了两个:

  • 首先右键单击问题选项卡中的错误
  • 点击快速修复
  • 好的
  • 右键单击项目
  • 构建路径
  • 配置构建路径
  • 移除 JRE 库
  • 添加 JRE 库

.... tada...完成... :)

【讨论】:

    【解决方案3】:

    只要确保 Java > 安装的 JRE 有 jre6 而不是 jdk1.6.0

    Eclipse 似乎将 jdk6 检测为不是 jre 1.5+

    【讨论】:

    • 在接受的建议中,对我来说,将 jdk 合规性切换回 1.5 解决了问题,但将其设置回 1.6 又将其恢复。添加 JRE1.6 并将其用作项目 JRE 解决了该问题。
    【解决方案4】:

    另请参阅:Eclipse: Syntax Error, parameterized types are only if source level is 1.5

    (我知道,我知道,这个问题早了一年,但另一个问题在 Jeff 的回答中包含了一些额外的信息。)

    【讨论】:

      【解决方案5】:

      如果您的 JDK 已经是 1.5 或更高版本,请尝试将您的 JDK 合规性更改为其他内容,让它构建,然后再返回。

      1. 打开Preferences (窗口 -> 首选项)
      2. 导航到Java -> Compiler
      3. Compiler compliance level 更改为其他值
      4. 点击 Apply 并允许 Eclipse 重建
      5. 使用所需的Compiler compliance level 重复步骤 3 和 4

      【讨论】:

        【解决方案6】:

        还有一些对 GWT 来说很有趣的东西。即使我使用的是 java 6,它也会给我一个错误,说源级别应该是 5 或更高版本。

        点击错误,使用eclipse的自动更正,将合规级别改为5,问题解决。

        【讨论】:

          【解决方案7】:
          1. 打开窗口 |偏好。
          2. Java |编译器。
          3. 将编译器合规级别更改为其他值。
          4. 点击应用,允许构建 Eclipse。
          5. 将编译器合规级别更改为所需的 Java 级别。

          【讨论】:

            【解决方案8】:

            试试这个:

            转到您项目的属性,将 Java 编译器合规级别设置为 1.6,让它重新构建项目,然后切换回 1.7 并再次重新构建它。

            它对我有用:)

            【讨论】:

              【解决方案9】:

              也许您的项目缺少一些必要的 jar。试试这个:

              • 右键单击您的项目>>构建路径>>选择库>>添加 jars 在项目中添加必要的 jar。
              • 转到项目的属性,将 Java 编译器合规级别设置为 1.6 或更高。
              • 进入项目的属性,设置项目方面。使“java”选项与您的 Java 编译器合规级别相匹配,例如“1.6”。

              【讨论】:

                【解决方案10】:

                我有同样的问题。对我来说,我的项目的编译器设置是从我的工作区配置设置中导入的,该设置设置为 1.8...

                我尝试切换编译器级别并重新构建,但没有成功。但是,诀窍是什么:

                在您的文件系统上

                1. 导航到您的项目。

                2. 删除 .settings 文件夹。

                3. 删除 .project 文件

                在 Eclipse 中:

                1. 从您的工作区中删除项目 - 确保您没有选中“删除磁盘上的项目内容...”复选框

                2. 导入您的项目并允许其构建

                【讨论】:

                  【解决方案11】:

                  在 Centos 7 上安装 Eclipse 后,我遇到了同样的问题。

                  但在我的情况下,更改编译器合规级别并不能解决问题。

                  为了解决这个问题,我更改了 Eclipse Installed JREs Window->Preferences->Java->Installed JREs path,它是 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64 到 /usr/lib/jdk1.8.0_121-linux-x64 的 Oracle JDK

                  更改后问题就消失了。

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2011-02-28
                    • 2017-02-12
                    相关资源
                    最近更新 更多