2011-06-18 56 views
3

我想完全自動地爲Eclipse RCP插件構建過程。它有一些第三方jar依賴項(可從Maven倉庫獲得),它們不是作爲OSGi捆綁包分發的,目前我使用「現有JAR歸檔的Eclipse插件」嚮導手動進行轉換。 PDEBuild或Maven/Tycho(或者其他一些構建系統)可以將它作爲構建的一個步驟嗎?從自動構建中的現有罐子創建Eclipse插件

回答

4

彼得·蒂勒曼斯在this post

提到PAX wrap jar命令從Apache的菲利克斯的Maven bundle plugin可能是值得一看,太。

也許SpringSource的Bundlor tool也可以從jar中處理創建osgi包。

+0

一旦你有關於如何使用可作爲Maven構件的OSGi包,檢查https://docs.sonatype.org/display/TYCHO/Dependency+on+pom-first+artifacts他們從tycho。 – jsievers

0

看看第三方jar和它的捆綁等價之間的區別。這只是一個額外的plugin.xml和清單中的一些額外的行。

編寫自己的捆綁罐子代碼。

+0

我不同意:在大多數情況下,爲Java庫編寫正確的OSGi清單很難。 – oberlies

3

簽出由我開發的p2-maven-plugin。這是一個開源的,社區友好的插件處理:

  • 不在OSGi包(這是完全可定製的)罐子的包裝
  • 產生可以消耗一個全功能的P2的更新站點在Eclipse的PDE
  • 對應的源束的生成(它生成所有束源包)

詳細信息和文檔可以在這裏找到:http://projects.reficio.org/p2-maven-plugin/manual.html

示例用法:

<plugin> 
    <groupId>org.reficio</groupId> 
    <artifactId>p2-maven-plugin</artifactId> 
    <version>1.0.0-SNAPSHOT</version> 
    <executions> 
     <execution> 
      <id>default-cli</id> 
      <configuration> 
       <artifacts> 
        <!-- specify your depencies here --> 
        <!-- groupId:artifactId:version --> 
        <artifact><id>commons-io:commons-io:2.1</id></artifact> 
        <artifact><id>commons-lang:commons-lang:2.4</id></artifact> 
        <artifact><id>commons-lang:commons-lang:2.5</id></artifact> 
        <artifact><id>commons-lang:commons-lang:2.6</id></artifact> 
        <artifact><id>org.apache.commons:commons-lang3:3.1</id></artifact> 
       </artifacts> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 
相關問題