2013-07-01 124 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看成一個捆綁包。 –