Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在要素文件中插入Karaf归档依赖项以创建Karaf归档_Java_Bundle_Maven Plugin_Apache Karaf_Apache Servicemix - Fatal编程技术网

Java 在要素文件中插入Karaf归档依赖项以创建Karaf归档

Java 在要素文件中插入Karaf归档依赖项以创建Karaf归档,java,bundle,maven-plugin,apache-karaf,apache-servicemix,Java,Bundle,Maven Plugin,Apache Karaf,Apache Servicemix,我有一个使用Maven的Java项目,我正在使用Karaf3.0.4。 我使用Maven插件创建.kar文件: <groupId>org.apache.karaf.tooling</groupId> <artifactId>features-maven-plugin</artifactId> <version>2.4.3</version> <executions> &l

我有一个使用Maven的Java项目,我正在使用Karaf3.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>
org.apache.karaf.tooling
特色maven插件
2.4.3
创建kar
创建kar
path/toMy/featureFile.xml
在这个featureFile.xml中,我添加了必要的特性和捆绑包依赖项;它工作正常:创建了.kar文件

现在,我想在这个.xml文件中添加Karaf归档依赖项,但我没有找到方法。我期待着这样的事情:

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

另一个特征
路径/to/aBundle
路径/目标/目标
你有什么想法吗?可能吗

编辑 这是我的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>

科德豪斯
mvn:org.testng/testng/6.8.8
获取CodeHaus束
mvn:org.codehaus.jackson/jackson-core-asl/1.9.2
mvn:org.codehaus.jackson/jacksonmapper asl/1.9.2

我安装了3.0.0.RC1。检查内部的标准要素文件

Karaf\u root\system\org\apache\Karaf\features\standard\3.0.0.RC1\standard-3.0.0.RC1 features.xml

对你来说,它应该显示一个不同的版本

Karaf\u 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>

mvn:org.apache.karaf.kar/org.apache.karaf.kar.core/3.0.0.RC1
mvn:org.apache.karaf.kar/org.apache.karaf.kar.command/3.0.0.RC1
mvn:org.apache.karaf.deployer/org.apache.karaf.deployer.kar/3.0.0.RC1
您可以在要素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>

文件:C:/Projects/camel bundle/target/camel-bundle-1.0-SNAPSHOT.jar
驼芯
骆驼泉osgi
servicemix骆驼
资料来源:


它来自JBoss Fuse,但我认为它也应该适用于纯Karaf。

你能发布featureFile.xml吗?你不能从feature向其他kar文件添加依赖项。xml谢谢,这个文件很有趣,但它没有回答我的问题:/在这个文件中,我们可以看到bundle(.jar)被解析了。在我的例子中,我希望Karaf归档(.kar)得到解析。kar文件也是Karaf的一个包。请尝试在您的功能XML中提供kar文件的路径,我正在编辑以发布文件系统JAR的示例。