特定于平台的依赖关系潜入Eclipse插件

特定于平台的依赖关系潜入Eclipse插件,eclipse,eclipse-plugin,Eclipse,Eclipse Plugin,我用EclipseMF和GMF框架实现了一个图形编辑器。在完成我的项目后,我意识到这个插件显示了一些特定于操作系统的插件的依赖关系(我没有明确添加)。例如:org.eclipse.ui.win32,org.eclipse.swt.win32.win32.x86。每当我试图在我的更新站点绕过这种依赖关系时,插件的安装过程就会出现问题 因此,我的插件不可能在*nix环境甚至win64机器上运行。这对我来说似乎是一个非常严重的约束依赖。我做错事了吗?或者除了在每个不同的操作系统上从头开始构建项目之外,

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


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

我们在我的项目中创建了类似风格的插件。在PackageExplorer中的“Plug-in Dependencies”下,我可以看到org.eclipse.swt.win32列出,但它没有列在plugin.xml中所需的插件中

我们还成功创建了一个适用于Mac用户的更新站点,没有任何问题

因此,是的,有一个跨平台的插件是可能的


我建议您首先尝试使用“Export…”->“Deployable plug-ins and fragments”为您的插件创建一组jar文件。通过复制到新的eclipse安装的drop-ins文件夹中,查看是否可以成功安装这些组件。首先在Win32安装上执行此操作,然后在其他平台上尝试。一旦你成功了,使用新的Eclipse安装来创建更新站点。

为什么它会使用那些特定于操作系统的插件?作为构建过程的最后一步,我制作了一个功能插件,然后制作了一个更新项目来在线上传插件。在创建功能插件时,我声明了我的插件,这些插件包括图形创建者,然后是自动创建的功能它填充依赖于这些插件的插件列表的方式;这应该行得通。Iraklis看到了win32插件,因为Eclipse在他的安装中解决了这些问题。如果他的插件安装在Linux上,Eclipse应该自动切换到Linux变体。我想我意识到了我的“错误”。当我构建功能插件时,我在依赖项选项卡中包含了我的插件,我选中了按钮:“计算”其中列出了现有工作环境中的插件依赖项。同时,正如Adrian在插件列表中提到的,*win32依赖项存在,但现在不在依赖项列表中