2017-03-01 10 views
0

apache-camelプロジェクトをJBOSS Fuseにデプロイしています。次のカラフフィーチャーファイルがプロジェクトに使用されます。JBossでバンドルを展開する順序を変更するヒューズ

<?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> 

私は主な機能をインストールすると、それはcamel-beanio機能とbeanioデータ形式失敗を使用していますabc-service内のルートの前にabc-serviceバンドルをロードします。

Googleで検索したところ、start-leveldependencyprerequesiteなどのオプションが見つかりました。しかし、現在設定されている名前空間は、これらの属性を許可していません。

また、this example hosted on Githubで提供されているようにxml名前空間を変更しようとしました。 java.lang.IllegalStateException:しかし、それはによって引き起こさ

のような別のエラーの原因となった /org/apache/karaf/features/karaf-features-1.3.0.xsd

:リソースが見つかりませんでした

camel-beanio機能が実際のサービスの前にインストールされていることを確認するにはどうすればよいですか?

答えて

0

次のような機能ファイルを書き込むことができる必要があります:

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

しかし、私はおそらく/メインの下で機能というフォルダを作成しては、Feature.xmlを作成するようアドバイスしています。

<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> 

があなたのポンポンであなたのプラグインセクションにこれを追加します:

<!-- to generate the karaf feature file from feature template file --> 
     <plugin> 
     <groupId>org.apache.karaf.tooling</groupId> 
     <artifactId>karaf-maven-plugin</artifactId> 
     <version>4.0.2</version> 
     <configuration> 
      <aggregateFeatures>false</aggregateFeatures> 
      <includeTransitiveDependency>false</includeTransitiveDependency> 
      <addBundlesToPrimaryFeature>true</addBundlesToPrimaryFeature> 
      <addTransitiveFeatures>false</addTransitiveFeatures> 
     </configuration> 
     <executions> 
      <execution> 
      <id>plugin-feature</id> 
      <goals> 
       <goal>features-generate-descriptor</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 

を次にあなたがきれいな機能ファイルをインストールして実行するとき、あなたのターゲットフォルダに生成されます手動のようなあなたのバンドルの依存関係を持つことを編集。

関連する問題