2016-07-22 70 views
0

我有一個應用程序,我想部署在卡拉夫。我創建了一個功能文件,我可以使用karaf控制檯通過此文件添加功能。我現在想要實現的是通過maven命令創建此功能文件,而不是手動創建它,然後使用此功能文件創建自定義karaf分發。我怎樣才能實現它?卡拉夫 - 生成功能文件並創建自定義分配

我到目前爲止的做法是創建一個使用karaf-maven-plugin生成特徵文件的maven模塊,然後創建另一個模塊來生成karaf自定義分發,以便我們不需要在生產環境中訪問maven。

這種方法是否正確?我真的需要製作兩個不同的模塊才能實現它。我如何從第二個模塊訪問功能文件。

這些都是我的勁歌 -

所有依賴條件

<build> 
    <finalName>${project.artifactId}-${project.version}</finalName> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.karaf.tooling</groupId> 
      <artifactId>karaf-maven-plugin</artifactId> 
      <version>4.0.5</version> 
      <extensions>true</extensions> 
      <executions> 
       <execution> 
        <id>generate</id> 
        <phase>generate-resources</phase> 
        <goals> 
         <goal>features-generate-descriptor</goal> 
        </goals> 
        <configuration> 
         <startLevel>80</startLevel> 
         <aggregateFeatures>true</aggregateFeatures> 
         <includeTransitiveDependency>true</includeTransitiveDependency> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 

我還無法向找出第二部分。任何幫助,真的很感激。

+0

對不起,我刪除了我的答案,以爲你想知道'features-maven-plugin'。你的方法是正確的。爲什麼你需要訪問功能文件? –

+0

忘了提及,我正在使用Karaf 4.0.5 –

+0

來創建自定義karaf發行版。 –

回答

0

要生成自定義Karaf,只需使用karaf-maven插件即可。

例如,以下將生成一個完全自定義的工作Karaf:

 <plugin> 
      <groupId>org.apache.karaf.tooling</groupId> 
      <artifactId>karaf-maven-plugin</artifactId> 
      <version>4.0.0</version> 
      <extensions>true</extensions> 
      <configuration> 
       <!-- no startupFeatures --> 
       <bootFeatures> 
        <feature>minimal</feature> 
       </bootFeatures> 
       <installedFeatures> 
        <feature>wrapper</feature> 
        <feature>spring/4.0.7.RELEASE_1</feature> 
       </installedFeatures> 
      </configuration> 
     </plugin> 

,這將產生基於最小套這是需要創造的最小發行功能的自定義karaf。如果你想依賴標準發行版,只需與標準版交換即可。 Btw。所有這些也記錄在Karaf documentation

+0

嗨,我其實試過這種方式,但我得到以下錯誤 - 無法執行目標org.apache.karaf.tooling:karaf-maven-plugin:4.0.5:程序集(默認組裝) deployment-karaf:無法構建程序集:/Users/Aviral.Shukla/Rep/gee-poc/deployment/target/assembly/etc/config.properties(沒有這樣的文件或目錄)..任何想法,爲什麼我得到這個錯誤 –

+0

你嘗試了什麼,沒有記錄在上述問題中。請提供更多詳情... –