从Eclipse Tycho p2-repository-plugin中排除目标平台

时间:2018-07-25 23:07:39

标签: eclipse maven tycho p2 target-platform

我有一个用eclipse tycho构建的rcp产品,并且pom.xml部分包含了所有不同的目标平台类型,构建该项目大约需要20分钟。我只想为Mac和Linux64构建目标平台,但是当我删除pom.xml文件的配置部分中的其他环境时,出现以下错误...

  

发布结果:[缺少org.eclipse.core.filesystem.win32.x86_64 0.0.0包含的元素。无法确定对此元素要求的过滤器。缺少包含的元素org.eclipse.core.net.win32.x86_64 0.0.0。无法确定对此元素要求的过滤器。缺少包含的元素org.eclipse.core.resources.win32.x86_64 0.0.0。无法确定对此元素要求的过滤器。缺少包含的元素org.eclipse.equinox.launcher.win32.win32.x86_64 0.0.0。无法确定对此元素要求的过滤器。缺少元素org.eclipse.equinox.security.win32.x86_64 0.0.0。无法确定对此元素要求的过滤器。缺少包含的元素org.eclipse.swt.win32.win32.x86_64 0.0.0。无法确定对此元素要求的过滤器。缺少包含的元素org.eclipse.ui.win32 0.0.0。无法确定>

我收到错误消息,当我不想为Windows构建时,它仍然试图为win32 SWT查找该插件,因为我想tycho不会将其添加到它构建的目标平台中?如果我从.product文件中删除了目标平台特定的依赖项,那么我将在哪里添加它们,以及当仅以tycho中的特定目标平台为目标时,该如何工作。谢谢你的帮助! -邓肯·克雷布斯

1 个答案:

答案 0 :(得分:1)

我知道了。问题是我的.product文件中有org.eclipse.swt之类的插件的特定于平台的依赖关系,因此,当尝试使用Tycho进行构建时,它正在寻找这些插件,而它们不存在,因为我没有为这些插件提供目标环境我的pom.xml中的平台删除了所有以平台特定的约定(例如win_32)结尾的插件,并且仅将通用插件(例如org.eclipse.swt)保留为依赖关系后,我便可以无错误地构建并且仅针对我感兴趣的平台。希望这可以对整个过程有所帮助。