Eclipse 不包括在第谷启动SWTBot测试的捆绑包

Eclipse 不包括在第谷启动SWTBot测试的捆绑包,eclipse,maven,tycho,swtbot,Eclipse,Maven,Tycho,Swtbot,我正在使用SWTBot为RCP应用程序运行UI测试,在EclipseIDE中启动测试时,SWTBot运行良好。现在我想在maven中运行测试,到目前为止它也可以运行。不幸的是,通过依赖链org.eclipse.swtbot.eclipse.finder-->org.eclipse.ui.editors-->org.eclipse.ui.ide运行测试的应用程序中也存在org.eclipse.ui.ide。使用此捆绑包时,会出现一些意外的菜单项,并且应在测试运行时排除该捆绑包。如何做到这一点 在e

我正在使用SWTBot为RCP应用程序运行UI测试,在EclipseIDE中启动测试时,SWTBot运行良好。现在我想在maven中运行测试,到目前为止它也可以运行。不幸的是,通过依赖链
org.eclipse.swtbot.eclipse.finder-->org.eclipse.ui.editors-->org.eclipse.ui.ide
运行测试的应用程序中也存在
org.eclipse.ui.ide
。使用此捆绑包时,会出现一些意外的菜单项,并且应在测试运行时排除该捆绑包。如何做到这一点


在eclipse中运行测试时,我只需将
org.eclipse.ui.ide
捆绑包排除在SWTBot测试启动配置中,一切正常。

依赖链
org.eclipse.SWTBot.eclipse.finder-->org.eclipse.ui.editors-->org.eclipse.ui.ide
包含一个可选链接:仅第一个捆绑包通过可选导入包
org.eclipse.ui.texteditor
需要第二个包。这就是为什么您可以从Eclipse启动的测试运行时中删除
o.e.ui.ide
捆绑包,并且
o.e.swtbot.Eclipse.finder
仍然可以工作

在正常情况下,通过确保可选依赖项不在目标平台中,您可以在Tycho的测试运行时实现相同的功能:


org.eclipse.tycho

并附加一个复制问题的最小示例项目,以便我可以解决此问题。

不幸的是,这并不能解决问题,依赖项不是可选的-
org.eclipse.swtbot.eclipse.finder
为编辑器提供了测试功能,视图和工作台,这也是我无法删除直接依赖关系的原因。但是非常感谢你的回答,我认为这个过滤器功能在其他情况下可能很方便,我以前不知道。我得到了依赖解析错误。我认为给依赖项一个像maven依赖项可以拥有的范围那样的范围是很酷的。我甚至尝试将其作为maven依赖项重新引入,使用POM考虑并将范围设置为
提供的
,这仍然会导致依赖项解析错误。仅供参考:是分析可传递p2/OSGi依赖项的一个很好的工具。它甚至可以直接从链接站点启动。@CodeSeavers:谢谢你测试我的原始答案-我现在知道了为什么它不起作用,并相应地编辑了答案。太好了,谢谢!现在,我重写了测试,使其在CI(maven)环境中工作,并将在我找到时间编译样例项目时立即提交一个bug