我们可以在 Eclipse 3.7.2 的 equinox 插件中使用 java 8 个功能吗?

Can we use java 8 features in plugins on equinox from Eclipse 3.7.2?

我正在为 Eclipse 3.7.2 版的 equinox 开发一些插件。不幸的是,我无法升级到最新的 equinox 平台。提供的 equinox 平台在其清单中未提供 "Require-Capability: osgi.ee; filter="(&(osgi.ee=JavaSE)(version=1.8))" 条目。因此我无法在其中使用 "Bundle-RequiredExecutionEnvironment: JavaSE-1.8"我的插件。根据回答 Java 8 & Missing required capability Require-Capability: osgi.ee; filter="(&(osgi.ee=JavaSE)(version=1.8))",我正在使用方法“从我的包清单中删除 header”,并且包成功编译并使用了 java 8 个功能。

我的问题是 - 像这样解决缺少的功能是否安全?我 运行 在 java 8 上安装我的旧 equinox 平台,因此 java 8 功能应该可用。是否可以在我的插件中使用 java 8 功能,即使我没有将 Bundle-RequiredExecutionEnvironment 指定为 java 8,但整个开发和生产 运行 都在 Java 8?或者 Osgi 平台是否出于某些充分的原因限制 osgi.ee 平台,我必须坚持使用 Java 1.6?

是的,它很安全。 Eclipse 尝试根据 运行 中的 JRE 设置 ee 信息。旧版本的 Eclipse 不知道 java 发布后的版本。