我正在尝试将项目(一组插件)从1.6升级到1.7。
所以我改变了MANIFEST.MF
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
来
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
但是,在升级之后,如果我尝试将插件导出为插件片段,我会收到此Eclipse错误:
Processing inclusion from feature org.eclipse.pde.container.feature: Bundle myplugin_1.0.0 failed to resolve.:
Missing Constraint: Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Host plug-in JavaSE_0.0.0 has not been found.
编辑:
MANIFEST.MF:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Auth Plug-in
Bundle-SymbolicName: __NAME__;singleton:=true
Bundle-Version: 1.0.0
Bundle-Vendor: AVendor
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Export-Package: __A_PACKAGE_NAME__
如果我将Target-Platform更改为Running platform
,则错误消失(但很明显,我无法切换整个项目的目标平台)。所以我怀疑目标平台在某种程度上是错误的......
编辑:
如果我删除该行
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
导出成功。
答案 0 :(得分:2)
呃,该项目使用的是eclipse 3.5.1,它应该在1.6上运行,而不是在1.7上运行。我的坏。
答案 1 :(得分:1)
如上所述:
我在升级到Java 8的RCP应用程序中遇到了同样的问题。从捆绑清单中删除'Bundle-RequiredExecutionEnvironment'条目有帮助。
答案 2 :(得分:0)
使用Eclipse Mars 4.5.0(Build id:20150621-1200)和Java 8时遇到了类似的问题。
MANIFEST.MF
清单 - 版本:1.0
Bundle-ManifestVersion:2
...
Bundle-RequiredExecutionEnvironment:JavaSE-1.8
Import-Package:org.osgi.framework; version =“1.3.0”
我没有删除“Bundle-RequiredExecutionEnvironment:JavaSE-1.8”这一行,我将其更改为“Bundle-RequiredExecutionEnvironment:JavaSE-1.7”,一切正常。