0

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

我在 Eclipse 中为我的 Java 6 和 Java 7 执行环境使用了 Java 7 JDK(版本: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。

谢谢!

4

1 回答 1

0

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

于 2013-08-10T16:47:49.013 回答