更改JBOSS Fuse

时间:2017-03-01 14:16:47

标签: apache-camel apache-karaf jbossfuse

我在apache-camel部署JBOSS Fuse项目作为功能。以下karaf功能文件用于项目。

<?xml version="1.0" encoding="UTF-8"?>
<features name="${project.artifactId}-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.0.0">
    <feature name="${project.artifactId}" description="${project.description}" version="${project.version}">
        ...
        <feature>camel-beanio</feature>
        ...

        <bundle>mvn:${project.groupId}/abc-common/${common-version}</bundle>
        <bundle>mvn:${project.groupId}/abc-service/${project.version}</bundle>

    </feature>
</features>

当我安装主要功能时,它会在abc-service功能之前加载camel-beanio捆绑包,abc-service中使用beanio数据格式的路由会失败。

我在Google上进行了一些搜索,找到了start-leveldependencyprerequesite ..等选项。但是,当前配置的名称空间不允许任何这些属性。

我也尝试更改this example hosted on Github中提供的xml名称空间。但它导致了另一个错误,如

  

引起:java.lang.IllegalStateException:找不到资源:   /org/apache/karaf/features/karaf-features-1.3.0.xsd

那么,在实际服务之前确保安装camel-beanio功能的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

您应该可以编写如下的功能文件:

-Encoding utf8

但我建议你在/ main下创建一个名为feature的文件夹并创建一个feature.xml。使用您的捆绑依赖项手动编辑它,例如:

<features>
<feature name "nameOfYourProject">
<bundle dependency="true">mvn:org.apache.camel/camel-beanio/2.17.0</bundle>
..your abc bundle
..
</feature>
</features>

将其添加到您的pom中的插件部分:

<features>
  <feature name="${project.artifactId}">
    <bundle dependency="true">mvn:org.apache.camel/camel-core/2.17.0</bundle>
    <bundle dependency="true">mvn:org.apache.camel/camel-blueprint/2.17.0</bundle>
    <bundle dependency="true">mvn:org.apache.camel/camel-rabbitmq/2.17.0</bundle>
    <bundle dependency="true">mvn:org.apache.camel/camel-jackson/2.17.0</bundle>
    <bundle dependency="true">mvn:org.apache.commons/commons-lang3/3.4</bundle>
    <bundle dependency="true">mvn:commons-codec/commons-codec/1.10</bundle>
    <bundle dependency="true">wrap:mvn:org.apache.axis/axis/1.4</bundle>
    <bundle dependency="true">wrap:mvn:org.apache.axis/axis-jaxrpc/1.4</bundle>
    <bundle dependency="true">wrap:mvn:org.apache.axis/axis-saaj/1.4</bundle>
    <bundle dependency="true">wrap:mvn:axis/axis-wsdl4j/1.5.1</bundle>
    <bundle dependency="true">wrap:mvn:commons-discovery/commons-discovery/0.4</bundle>
    <bundle dependency="true">wrap:mvn:javax.xml/jaxrpc-api/1.1</bundle>
    <bundle dependency="true">mvn:org.slf4j/slf4j-api/1.7.13</bundle>
    <bundle dependency="true">mvn:${project.groupId}/${project.artifactId}/${project.version}</bundle>
  </feature>
</features>

然后,当您运行全新安装时,将在目标文件夹中生成要素文件。

相关问题