【问题标题】:Eclipse: Setting to generate errors when using classes from Java releases later than project's compliance levelEclipse:设置为在使用高于项目合规性级别的 Java 版本中的类时生成错误
【发布时间】:2013-08-10 16:05:23
【问题描述】:

当您使用超出项目合规性级别的 Java 版本中可用的类时,Eclipse 是否可以告诉您(即使我正在编译的 JDK 在技术上支持/具有这些类)?

我在 Eclipse 中将 Java 7 JDK 用于我的 Java 6 和 Java 7 执行环境(版本:Kepler Release,Build id:20130614-0229)。

我已将项目的合规级别设置为 Java 6,因为我们正在编译为 Java 6 兼容字节码以支持较旧的 JRE,并且我使用的是 JavaSE-1.6 执行环境,但由 Java 1.7.0_15 提供支持JDK。

我最近发现自己使用了 java.nio.* 包中的某些东西,并且很惊讶我没有在 Eclipse 中收到错误/警告,告诉我我的合规级别是 Java 6,而这个类在 Java 6 中不可用.

当然,我总是可以切换到 Java 6 JDK,但我更喜欢在两种执行环境中都使用 Java 7 JDK。

谢谢!

【问题讨论】:

    标签: eclipse


    【解决方案1】:

    7 运行时满足 6 执行环境的要求。如果您希望使用不存在的任何内容出现编译错误,那么您应该以实际的 Java 6 运行时为目标。请记住,这不仅仅是 7 中的新类,而是新方法。

    【讨论】:

    • 不知道我明白在这里做什么。 “以实际的 Java 6 运行时为目标”是什么意思? Eclipse 中是否有设置可以使用我的 Java 7 运行时并以 Java 6 运行时为目标?
    • 不,这意味着将其指向具有特定类库集的 Java 6 运行时。
    • 谢谢。我就是这么想的。
    猜你喜欢
    • 2013-05-23
    • 2013-12-22
    • 2020-10-19
    • 2011-08-05
    • 1970-01-01
    • 2019-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多