2011-05-23 64 views
5

我已经用Eclipse EMF和GMF框架实现了一个图编辑器。完成我的项目后,我意识到这个插件显示了某些操作系统特定插件的依赖关系(未明确添加)。例如:org.eclipse.ui.win32,org.eclipse.swt.win32.win32.x86。每当我尝试在我的更新站点绕过这种依赖关系,插件的安装过程出现问题。特定于平台的依赖关系爬到Eclipse插件中

因此,在* nix环境甚至win64机器上运行我的插件是不可能的。这似乎是一个非常严重的约束依赖于我。我是否以错误的方式做事?或者除了在每个不同的操作系统上从头开始构建项目之外,没有其他方式构建跨平台的Eclipse插件?

+0

为什么它使用这些操作系统特定的插件? – 2011-05-23 08:36:43

+1

作为我的构建过程的最后一步,我制作了一个功能插件,之后创建了一个Update项目,以在线上传插件。在创建功能插件时,我声明了我的插件,它包含图形创建器,然后以自动方式填充依赖于这些的插件列表。在这个列表中有2个win32插件 – curious 2011-05-23 08:46:09

回答

2

我在我的项目中创建了一个类似的插件风格。在Package Explorer中的“Plug-in Dependencies”下,我可以看到列出了org.eclipse.swt.win32,但它在plugin.xml中列出的所需插件中列出了而不是

我们还成功创建了适用于Mac用户的更新站点,而且没有问题。

所以,是的,有可能有一个跨平台的插件。

我建议你先尝试使用“导出...” - >“可部署的插件和片段”为插件创建一堆jar文件。通过复制到全新的eclipse安装的下拉式文件夹中查看是否可以成功安装这些文件。首先在Win32上安装,然后在另一个平台上尝试。完成后,使用新的Eclipse安装来创建更新站点。

+0

我同意;这应该只是工作。 Iraklis看到了win32插件,因为Eclipse在他的安装中解决了这些问题。如果他的插件安装在Linux上,则Eclipse应自动切换到Linux变体。 – 2011-05-23 09:49:11

+1

我认为我意识到了我的“bug”。当我构建功能插件时,我在依赖项选项卡中包含我的插件,我检查了按钮:“计算”,它使现有工作环境中的插件依赖项成为列表。与此同时,Adrian在插件列表中提到* win32依赖关系在那里,但现在不在依赖列表中 – curious 2011-05-23 11:24:29