我正在升级 Eclipse RCP 插件。我们导入的许多插件(例如
org.eclipse.ui.workbench
和 org.eclipse.jface.text
都有 "Import-Package: com.ibm.icu.text"
或 "Import-Package: com.ibm.icu.util"
。
由于种种原因,我们只能将Eclipse版本升级到4.16,但是出于安全考虑,我们尝试升级
com.ibm.icu
插件。我通过 Orbit 将其从版本 64.2 升级到 67.1,因为这是具有安全修复程序的最旧版本。
但是,一旦我升级了它,我的插件就不再构建了。我收到以下错误:
org.osgi.framework.BundleException: Could not resolve module: org.eclipse.ant.ui [32]
Unresolved requirement: Require-Bundle: org.eclipse.ui.ide; bundle-version="[3.2.0,4.0.0)"; resolution:="optional"
-> Bundle-SymbolicName: org.eclipse.ui.ide; bundle-version="3.17.100.v20200530-0835"; singleton:="true"
org.eclipse.ui.ide [238]
Unresolved requirement: Require-Bundle: org.eclipse.ui; bundle-version="[3.106.0,4.0.0)"
-> Bundle-SymbolicName: org.eclipse.ui; bundle-version="3.117.0.v20200518-1705"; singleton:="true"
org.eclipse.ui [230]
Unresolved requirement: Require-Bundle: org.eclipse.ui.workbench; bundle-version="[3.119.0,4.0.0)"; visibility:="reexport"
-> Bundle-SymbolicName: org.eclipse.ui.workbench; bundle-version="3.119.0.v20200521-1247"; singleton:="true"
org.eclipse.ui.workbench [253]
Unresolved requirement: Import-Package: com.ibm.icu.util
Unresolved requirement: Require-Bundle: org.eclipse.ui.workbench; bundle-version="[3.115.100,4.0.0)"
-> Bundle-SymbolicName: org.eclipse.ui.workbench; bundle-version="3.119.0.v20200521-1247"; singleton:="true"
似乎缺少的 2 个软件包是
com.ibm.icu.text
和 com.ibm.icu.util
。新版本的清单显示它仍在导出这些包。我不知道为什么它不再找到包裹。我几天来一直试图解决这个问题,但运气为零。预先感谢您的帮助!
那个
org.eclipse.ui.workbench
捆绑包的清单提到了 com.ibm.icu.util
包导入的版本号。未版本化的包导出将不匹配。您不是第一个遇到此问题的人,但这并不是您可以在其他人的捆绑包中修复的问题。