2013-07-01 123 views
0

插件我有3个项目:添加参考打包为罐

  • 项目A:Eclipse插件
  • 项目B:Eclipse插件依赖项目甲
  • 项目C:Eclipse插件包含SWTBot测试仅用于测试项目B

项目A是通过maven独立编译的。

然后将项目B和项目C编译在一起,为了启动测试,使用了tycho。

的问题是通过行家编制项目B和C的时候,我得到以下错误:

[ERROR] Internal error: java.lang.RuntimeException: "No solution found because the problem is unsatisfiable.": ["Unable to satisfy dependency from B 1.0.0.qualifier to bundle A 0.0.0.", "No solution found because the problem is unsatisfiable."] -> [Help 1]

我应该怎么做,这样第谷将意识到项目(在Maven仓库中可用)编译项目时BC

回答

1

捆绑Ç两者(传递地)要求束。因此该软件包需要位于同时为B和C配置的target platform中。(目标平台通过正式的Maven POM配置进行配置,因此您通常会以相同的方式为两个模块配置目标平台,方法是将配置添加到。父POM)

为了从Maven仓库中添加一个Eclipse插件/ OSGi包到目标平台,需要进行以下配置:

  • 声明一个POM依赖的插件(通过添加dependency元素与工件GAV)
  • 设置pomDependencies=consider第谷的target-platform-configuration插件:

    <plugin> 
        <groupId>org.eclipse.tycho</groupId> 
        <artifactId>target-platform-configuration</artifactId> 
        <version>${tycho-version}</version> 
        <configuration> 
         <pomDependencies>consider</pomDependencies> 
        </configuration> 
    </plugin> 
    

要注意,从Maven仓库神器需要是一个Eclipse插件或OSGi包,即它需要有一个正确的OSGi清单。有关pomDependencies=consider的更多详细信息,请参见this section of the target platform configuration documentation

+0

嗨oberlies,谢谢你的回答。问题是项目A是由maven生成的,没有引用tycho插件。我不允许在poms中添加依赖项。因此,我正在考虑通过创建一个新项目作为一个功能项目(这里我可以添加对tycho的依赖关系)和一个可用于项目B和C的更新站点项目来创建一个“本地eclipse插件库”。您认为什么? –

+0

只需要成为OSGi包并部署到Maven存储库。 A不需要知道Tycho的任何事情。 – oberlies

+0

好的谢谢。其实我在编写Maven时忘记了包含A的清单。所以tycho并没有把A看成一个捆绑包。 –