10

简单的用例:使用简单的脚本组装一个 Eclipse 产品,只需将包转储到插件目录中。这曾经适用于 3.3 - 3.5 已损坏:我的应用程序无法启动,因为找不到应用程序插件。

问题:解决这个问题的最简单方法是什么?这似乎是我整个升级过程中唯一的痛苦。


尝试:我想这对 P2 来说是一个禁忌:它改为维护 bundles.info 文件,这可能非常聪明..对我来说有点太聪明了。

我的一些想法:

  1. 我可以完全跳过 P2 并回到简单的旧的、简单的 -dirty- 发现机制吗?
  2. 我可以将插件目录设置为“监视目录”吗
    • 看起来我需要为此使用 p2.reconciler ..哦等等,它已经被弃用了:-(错误 251561 ..(感谢 VonC 的指针)
  3. config.ini 中的这个旧设置还能工作吗?(现在被“simpleconfigurator”取代)osgi.bundles=org.eclipse.equinox.common@2:start, org.eclipse.update.configurator@3:start, org.eclipse.core.runtime@start
  4. 我应该打电话给(p2)导演吗?“请拿起我的插件” :)
  5. 我会为此避免使用 dropin 文件夹——这对最终用户来说更是如此。
  6. 如果可能的话,我会避免弄乱 bundles.info。

我还不关心我的产品中的所有这些智能功能——实际上用户根本不使用内置的更新机制。所以我想亲吻(即:只是为了启动),并在需要时添加更多高级支持。

我在Eclipse 论坛上问过这个问题,但还没有答案,所以真的很感激一些启发。另外,请随时纠正我的假设 - 我刚刚阅读了P2 文档,有时看起来令人困惑。谢谢!


回答:实际上,上面的选项 3 似乎仍然有效 - 感谢Francis确认这一点!(它最初不起作用,但这可能是由于缺少一些部门造成的)。我现在唯一的问题是,一些 Eclipse 包实际上需要 simpleconfigurator。所以我想知道换掉它是否会导致问题。

4

3 回答 3

6

您可以更改您的 configuration/config.ini 文件以使用 org.eclipse.equinox.simpleconfigurator (它执行基于 p2 的配置),而是使用 org.eclipse.update.configurator 这是老式的方式配置插件目录中的任何内容。这应该给你你想要的。

于 2009-11-26T04:01:04.563 回答
5

即使它不能完全回答您所追求的,您也可以在一个eclipse.ini(就像我在这里描述的那样)中指定:

-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=C:/jv/eclipse/mydropins

这确实指定 p2 监视您选择的任何目录以检测其中的插件。


另一个想法来源可能是这篇文章:撰写和更新自定义 Eclipse 发行版

创建包含这些内容的基于功能的产品并不难,并进行产品构建以最终得到如下内容:

替代文字


注意:和解的概念在eclipse Wiki中有详细说明。

对于 Eclipse 的某些安装,将存在共享安装的概念——这可能是在 Linux 系统的情况下,其中一组基本软件通过包(可能是 RPM)安装,或者可能在 Maya 部署中,其中共享配置文件在中央服务器中定义。
在这两种情况下,都需要在共享配置文件和用户当前的配置文件实例之间进行协调,包括他们可能进行的任何修改

这种机制的一部分是Dropins Reconciler设置。虽然,正如错误 251561所示,不建议在其中放置太多插件。

于 2009-11-10T06:55:57.960 回答
1

也许会帮助你(在黑暗中拍摄)?我在将我的 Eclipse 安装升级到 Galileo 并尝试保持我的 Flex 插件安装时发现了这一点。

于 2009-11-10T04:08:47.797 回答