【发布时间】:2016-03-09 05:22:24
【问题描述】:
我的 Eclipse 产品启动配置(基于插件)、Target Definitions 和 Manifest 都具有最新版本的依赖插件,它们得到解决且没有任何错误,并且启动正常。
这是一个 Eclipse Mars.2 版本 4.5.2,并且软件更新由 Oomph 执行,它将插件放入其捆绑池中。由于所有最新版本的插件都显示为选中状态,因此以上所有内容都在查找此捆绑池。
但是,PDE 在工作区中维护另一个捆绑池作为元数据的一部分,其中包含旧版本,并且如果找到任何版本的依赖插件,产品导出向导就会从那里导出。
有几个 Stack Overflow 问题建议手动向产品导出向导指定每个插件的完整版本的解决方案:
How to specify required bundle version in RCP product
Eclipse RCP - Wrong plugin version gets exported
但是当一个人有很多依赖项和多个产品时,这会变得很痛苦。
有没有办法将产品导出向导引导到查找位置?
【问题讨论】:
-
我认为导出向导使用当前目标平台进行查找 - 您是否配置了目标平台?
-
是的,在我的目标平台首选项中,我有一个活动目标定义,它用作位置 ${eclipse_home} 以及几个更新站点。它可以毫无错误地解析目标内容。内容显示插件的所有版本,即 Oomph 捆绑池中的最新版本和 PDE 元数据捆绑池中的旧版本。它似乎知道在哪里可以找到所有版本,但导出显然只从 PDE 元数据包池中获取 jar - 除非链接中的两个建议答案建议您手动为每个插件指定完整版本。
-
我会使用不使用 eclipse_home 的目标平台。从头开始构建定义,指定您要使用的确切存储库。
-
非常感谢 Greg,您的及时回复和有用的建议。
-
非常感谢 Greg,您非常及时的回复和有用的建议。实际上,在看到您的第二条评论之前,我已经创建了一个新定义,并且我使用了 ${eclipse-home} 并运行了导出的产品。我在没有 ${eclipse_home} 的情况下尝试了它,但它无法解决一些插件 - 我可以通过查找每个插件来解决这个问题,但是......我不完全理解问题是什么/是定义但它似乎可以在没有的情况下导出手动指定版本。再次感谢。