Eclipse捆绑池,如何使用?

时间:2011-04-05 09:08:03

标签: eclipse osgi bundle pool p2

使用P2 Eclipse可以选择使用bundle pooling重用应用程序之间的公共捆绑包,但我可以使用它有什么可能性?

页面上的示例列出了两个在用户主目录中重用一组插件的应用程序,但插件目录是否可以设置为任何内容?有什么限制?

喜欢:

Application1/
   configuration/
      config.ini
      ... other configuration files for Application1...
   Application1.exe
   Application1.ini
Application2/
   configuration/
      config.ini
      ... other configuration files for Application2...
   Application2.exe
   Application2.ini
...
common_bundle_pool_for_all_users/
   .p2/
      org/eclipse.equinox.p2.core
      org/eclipse.equinox.p2.director
      org/eclipse.equinox.p2.engine
      org/eclipse.equinox.p2.touchpoint.eclipse

甚至可能

Documents and Settings
   Username
      .p2/
         plugins/      <-- unique plugins only for this user

1 个答案:

答案 0 :(得分:2)

捆绑池是一个很好的概念,但它并不像预期的那样灵活。

例如,如果您希望多个应用程序共享捆绑包,则必须使用捆绑池选项安装基于eclipse的应用程序。没有简单的方法来转换/切换现有的打包eclipse(如从eclipse.org下载的拉链)以使用捆绑池。

这意味着您必须使用安装程序应用程序(equinox p2团队有一个名为p2.installer的示例应用程序)来安装基于eclipse的应用程序并使用捆绑池。这是你列出的第一个案例。

您使用共享安装案例处理的可能方案。当eclipse实例是只读时,它总是使用该结构。用户无权更改eclipse本身的配置,因此请将第三方插件安装到用户文件夹中。如果在启用了UAC的Windows 7上的程序文件中安装了多个eclipse程序包(例如插件开发,cdt,wtp等),那些eclipse可以共享安装在主文件夹中的程序包