【问题标题】:Eclipse: javac: target release 1.6 conflicts with default source release 1.7Eclipse:javac:目标版本 1.6 与默认源版本 1.7 冲突
【发布时间】:2014-02-05 03:36:37
【问题描述】:

我正在尝试在 Eclipse Kepler 上执行构建,但是当我这样做时,我收到以下错误 javac: target release 1.6 conflicts with default source release 1.7

我已将 Java 编译器更改为使用 1.6,但这警告我默认的 JRE 是 1.7。然后我去了 Installed JREs remove 1.7 并为 1.6 创建了一个新的。

这仍然给出相同的错误。我还看到了一些关于添加 -vm 和 eclipse.ini 的 java 路径的信息,但这也没有帮助。

有人知道该怎么做吗?

【问题讨论】:

  • 您机器上的默认 Java 是什么?在您尝试构建的项目中,为编译器指定的 Java 级别是什么?
  • 机器上的默认Java是java-1.6.0-openjdk。在 Eclipse/编译器中我指定了相同的(1.6),但它仍然说 Eclipse 默认是 1.7。
  • 我一直在使用 Java 7 for Eclipse 运行 Kepler。我的意思是,您可以在命令行上传递 -vm 参数,以便 Eclipse 使用 Java 7 运行,但随后在首选项和项目中,您可以设置项目以编译和运行 Java 6 或 7。我需要去另一台机器来检查这个,因为我没有在这台机器上安装 Eclipse。
  • 我知道这个链接是针对 Indigo 的,但是内容应该是一样的 - 参见 -vm 命令行参数。您可以在 Java7 上运行 Eclipse,并且仍然将您的项目设置为使用 Java 6。help.eclipse.org/indigo/… 希望这会有所帮助...
  • @mikemil 请忽略最后的评论。所以我使用 ./eclipse -vm /usr/lib/jvm/java-1.6.0-openjdk 运行它。这条路径是正确的,但我得到了以下信息:Java 运行时环境 (JRE) 或 Java 开发工具包 (JDK) 必须可用才能运行 Eclipse。搜索以下位置后没有找到Java虚拟机: /usr/lib/jvm/java-1.6.0-openjdk/default.ee /usr/lib/jvm/java-1.6.0-openjdk/java /usr/lib /jvm/java-1.6.0-openjdk/libjvm.so

标签: java eclipse eclipse-kepler


【解决方案1】:

您可能需要检查项目或工作区的编译器设置并验证 Java 源和目标版本是否相同:

  1. 在包资源管理器中右键单击项目并选择“属性”
  2. 在左侧窗格中选择“Java 编译器”。
  3. 如果未设置“启用项目特定设置”,则单击“配置工作区设置...”
  4. 验证源和目标是否为 1.6,如果这是您打算使用的版本

下面是从命令行使用 javac 时出现类似错误的链接: Can we use jdk7 javac to compile code with java7 features into java6 bytecode

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-05
    • 2014-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多