簡體   English   中英

在特征文件中插入Karaf存檔依賴項以創建Karaf存檔

[英]Inserting Karaf Archive dependencies in features file to create Karaf Archive

我有一個使用Maven的Java項目,並且正在使用Karaf 3.0.4。 我使用Maven插件創建.kar文件:

  <groupId>org.apache.karaf.tooling</groupId>
    <artifactId>features-maven-plugin</artifactId>
    <version>2.4.3</version>
    <executions>
       <execution>
          <id>create-kar</id>
          <goals>
             <goal>create-kar<goal>
          </goals>
          <configuration>
             <featuresFile>path/toMy/featureFile.xml</featuresFile>
          </configuration>
       </execution>
    </executions>

在這個featureFile.xml文件中 ,我添加了必要的功能並捆綁了依賴項; 運行正常:.kar文件已創建。

現在,我想在此.xml文件中添加Karaf Archive依賴項 ,但沒有找到一種方法。 我期待着類似的東西:

<feature name="myFeature" version="1.0" install="manual">
   <feature>anotherFeature</feature>
   <bundle>path/to/aBundle</bundle>
   <kar>path/to/aKarafArchive</kar>
</feature>

你有想法嗎 ? 可能嗎 ?

編輯

這是我的featureFile.xml

<?xml version="1.0" encoding="UTF-8"?>
<features name="featureFile" xmlns="http://karaf.apache.org/xmlns/features/v1.2.1">

    <feature name="aFeature" description="Simple example" version="1.0" install="manual">
        <feature>CodeHaus</feature>
        <bundle>mvn:org.testng/testng/6.8.8</bundle>
    </feature>

    <feature name="CodeHaus" description="">
        <details>Get CodeHaus bundles</details>
        <bundle>mvn:org.codehaus.jackson/jackson-core-asl/1.9.2</bundle>
        <bundle>mvn:org.codehaus.jackson/jackson-mapper-asl/1.9.2</bundle>
    </feature>

</features>

我已經安裝了3.0.0.RC1。 檢查里面的標准功能文件

Karaf_root\\system\\org\\apache\\karaf\\features\\standard\\3.0.0.RC1\\standard-3.0.0.RC1-features.xml

對您來說,它應該顯示不同的版本。

Karaf_root\\system\\org\\apache\\karaf\\features\\standard\\${karaf-version}\\standard-${karaf-version}-features.xml

這里有一個關於Karaf存檔功能的條目。

<feature resolver="(obr)" description="Provide KAR (KARaf archive) support" version="3.0.0.RC1" name="kar">
    <bundle start-level="30">mvn:org.apache.karaf.kar/org.apache.karaf.kar.core/3.0.0.RC1</bundle>
    <bundle start-level="30">mvn:org.apache.karaf.kar/org.apache.karaf.kar.command/3.0.0.RC1</bundle>
    <bundle start-level="30">mvn:org.apache.karaf.deployer/org.apache.karaf.deployer.kar/3.0.0.RC1</bundle>
</feature>

您可以在功能XML文件中使用相同的名稱。

已編輯*

文件系統JAR路徑可以如下所示

<?xml version="1.0" encoding="UTF-8"?>
<features name="MyFeaturesRepo">
  <feature name="example-camel-bundle">
    <bundle>file:C:/Projects/camel-bundle/target/camel-bundle-1.0-SNAPSHOT.jar</bundle>
    <feature version="6.0.0.redhat-024">camel-core</feature>
    <feature version="6.0.0.redhat-024">camel-spring-osgi</feature>
    <feature version="6.0.0.redhat-024">servicemix-camel</feature>
  </feature>
</features>

資源:

https://access.redhat.com/documentation/zh-CN/Red_Hat_JBoss_Fuse/6.0/html/Deploying_into_the_Container/files/DeployFeatures-Create.html

它來自JBoss Fuse,但我認為它也適用於普通的Karaf。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM