简单用例:使用简单脚本组装Eclipse产品,只是将软件包转储到插件目录中。 这曾经与3.3一起使用 - 3.5它被破坏了:我的应用程序没有启动,因为找不到应用程序插件。
问题:解决这个问题的最简单方法是什么?这似乎是整个升级过程中唯一的痛苦。
尝试: 我想这对于P2来说是禁止的:它维护了bundles.info文件,这可能非常聪明......对我来说有点太聪明了。
我有一些想法:
osgi.bundles=org.eclipse.equinox.common@2:start, org.eclipse.update.configurator@3:start, org.eclipse.core.runtime@start
我并不关心我产品中的所有智能功能 - 实际上用户根本不使用内置更新机制。 所以我想KISS(即:刚启动),并在需要时添加更多高级支持。
我在Eclipse forums上问了这个问题,但还没有答案,所以真的很感激一些启示。 另外,请随意纠正我的假设 - 我刚刚阅读了P2 docs,这有时令人困惑。 谢谢!
回答:实际上上面的选项3似乎总是起作用 - 感谢Francis确认这一点! (它最初不起作用,但这可能是由一些缺失的deps引起的)。 我现在唯一的问题是,一些Eclipse包实际上需要simpleconfigurator。因此,我想知道是否将其交换出来会导致问题。
答案 0 :(得分:5)
即使它没有完全回答你的意思,你也可以在eclipse.ini
中指定(就像我describe here那样):
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=C:/jv/eclipse/mydropins
这确实指示p2监视您选择的任何目录以检测其中的插件。
另一个想法可能就是这篇文章:Composing and updating custom Eclipse distros
创建包含这些内容的基于功能的产品并不难,并执行product build以达到以下目的:
注意:对帐的概念详见eclipse Wiki。
对于Eclipse的某些安装,将存在共享安装的概念 - 这可能是在Linux系统的情况下,其中通过包(可能是RPM)安装基本软件集,或者可能在Maya部署,其中共享配置文件在中央服务器中定义 在这两种情况下,都需要在共享配置文件和用户当前的配置文件实例化之间执行协调,包括他们可能做出的任何修改。
此机制的一部分是Dropins Reconciler设置。虽然如bug 251561所示,但不建议在那里插入太多插件。
答案 1 :(得分:5)
您可以将configuration / config.ini文件更改为而不是使用org.eclipse.equinox.simpleconfigurator(执行基于p2的配置),而是使用org.eclipse.update。配置器,这是只是配置插件目录中的任何内容的老派方式。这应该给你你想要的东西。
答案 2 :(得分:1)
也许this会帮助你(在黑暗中拍摄)?我在将Eclipse安装升级到Galileo并尝试保持我的Flex插件安装时发现了这一点。