在 Java 10 的 RCP 应用程序中未找到主机 plug-in JavaSE
Host plug-in JavaSE has not been found in RCP application with Java 10
我将我的 RCP 应用程序从 Eclipse Oxygen 移到了 Photon,也从 Java 8 移到了 Java 10。
如果我从 Eclipse 启动它,代码编译并且应用程序工作正常。但是,当我尝试构建我的应用程序时,出现错误:
plug-in JavaSE_0.0.0 has not been found
Missing Constraint: Bundle-RequiredExecutionEnvironment: JavaSE-10
Host plug-in JavaSE_0.0.0 has not been found.
我在 Google 上找不到任何有用的解决方案。也许你们中的一些人可以帮助我。
我的清单文件包含这个 header:
Bundle-RequiredExecutionEnvironment: JavaSE-10
这似乎是一个 Eclipse 错误。 Eclipse 似乎无法正确处理 JavaSE-10。
目前最简单的解决方案就是使用 Bundle-RequiredExecutionEnvironment: JavaSE-9
而不是 JavaSE-10 并忍受与 JRE 容器不匹配的警告。
从 OSGi 4.3 开始,指定最低 Java 版本的最合适方法是使用 Required-Capability header,如:
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version>=1.10))"
我已通过将所有出现的 Bundle-RequiredExecutionEnvironment
替换为以上行,成功修复了报告的错误。在 PDE 中,您可能会收到关于清单文件的警告,但可以安全地忽略它。产品验证和产品出口似乎没有问题。但是我不确定的一件事是当喂入不包含 BREE header.
的捆绑包时 P2 会如何反应
或者,Eclipse 2018-09 现已发布,似乎提供了 JavaSE-10 环境描述(正好赶上 JavaSE 10 弃用...);我还没有测试 JavaSE 11 支持(作为 Eclipse 2018-09 的插件提供)。
我将我的 RCP 应用程序从 Eclipse Oxygen 移到了 Photon,也从 Java 8 移到了 Java 10。
如果我从 Eclipse 启动它,代码编译并且应用程序工作正常。但是,当我尝试构建我的应用程序时,出现错误:
plug-in JavaSE_0.0.0 has not been found
Missing Constraint: Bundle-RequiredExecutionEnvironment: JavaSE-10
Host plug-in JavaSE_0.0.0 has not been found.
我在 Google 上找不到任何有用的解决方案。也许你们中的一些人可以帮助我。
我的清单文件包含这个 header:
Bundle-RequiredExecutionEnvironment: JavaSE-10
这似乎是一个 Eclipse 错误。 Eclipse 似乎无法正确处理 JavaSE-10。
目前最简单的解决方案就是使用 Bundle-RequiredExecutionEnvironment: JavaSE-9
而不是 JavaSE-10 并忍受与 JRE 容器不匹配的警告。
从 OSGi 4.3 开始,指定最低 Java 版本的最合适方法是使用 Required-Capability header,如:
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version>=1.10))"
我已通过将所有出现的 Bundle-RequiredExecutionEnvironment
替换为以上行,成功修复了报告的错误。在 PDE 中,您可能会收到关于清单文件的警告,但可以安全地忽略它。产品验证和产品出口似乎没有问题。但是我不确定的一件事是当喂入不包含 BREE header.
或者,Eclipse 2018-09 现已发布,似乎提供了 JavaSE-10 环境描述(正好赶上 JavaSE 10 弃用...);我还没有测试 JavaSE 11 支持(作为 Eclipse 2018-09 的插件提供)。