1

我在Eclipse RCP 3.8.2 IDE中有一个工作区,其中包含 3 个插件和 2 个片段:

  • P1 和 P2 插件
  • BONECP1 片段(P1 是主机)
  • BONECP2 片段(P2 是 HOST)
  • MAIN 插件(需要 P1 和 P2)

在 IDE 中运行 MAIN 插件的生活很顺利......但是在导出 MAIN 插件(作为 Eclipse RCP 产品)时,片段 BONECP2 会导致此错误:

示例图像

有任何想法吗?提示:

  1. 片段是克隆的(类路径库是相同的!)
  2. 有时(如果在 BONECP1 片段中更改了某些配置)BONECP2 片段无法找到已加载并存在于主机中的某些类。重新配置BONECP1片段(使其不再是单例/单例)解决了这个问题!!
  3. 如果再次尝试导致错误的操作,则找到之前未找到的类!(导出版本和 IDE 内部)
  4. 删除 BONECP2 片段的HOST MINIMUM VERSION解决了​​ EXPORT 错误...但是 BONECP2 片段找不到一些已加载并存在于 HOST 中的类!

我对片段的理解缺少什么?为什么 Eclipse 可以在 IDE 中使用此配置而不是在导出时?

这是 BONECP 片段的清单:

Manifest-Version: 1.0
Eclipse-BundleShape: jar
Bundle-ManifestVersion: 2
Bundle-Name: com.jolbox.bonecp
Bundle-SymbolicName: BONECP1;singleton:=true
Bundle-Version: 0.7.0.qualifier
Fragment-Host: P1;bundle-version="1.0.0.qualifier"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ClassPath: .,
 libraries/bonecp-0.7.0.jar,
 libraries/guava-r08.jar,
 libraries/slf4j-api-1.6.1.jar,
 libraries/slf4j-log4j12-1.6.1.jar
Export-Package: com.jolbox.bonecp
4

0 回答 0