2017-07-06 14 views
0

features.xmlで指定された.karファイル内に3つのバンドルを持つKarafアプリケーションがあります。展開時に.karからKarafバンドルがロードされない

ターゲットVMにコンパイルされた.kar(mavenプラグインを使用)をデプロイすると、メインバンドルはKarafでロードされ更新されますが、依存バンドル(アドオン機能)は抽出されず、展開 - Karafは、.karの代わりに/ system/repositoryからバンドルを取得しようとします。

デベロッパーはビルドプロセスのために最新のローカルMavenレポから依存バンドルが取得されている可能性があります。

現在、ターゲットマシンでこの問題を回避するには、.karがホットデプロイされたときにすべてのバンドルが更新されるように、ローカルのrepoを[karaf.root]/system /フォルダにコピーする必要があります。

誰でも機能の.xmlを設定する方法を知っているので、バンドルは/ systemフォルダから[最初]ではなく.karから引き出されますか? 私のfeatures.xmlファイルは次のとおりです。

<features name="${project.artifactId}-${project.version}" 
xmlns="http://karaf.apache.org/xmlns/features/v1.3.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.3.0 http://karaf.apache.org/xmlns/features/v1.3.0"> 

<feature name="${project.artifactId}" install="auto" version="${project.version}" 
    description="${project.description}"> 
    <bundle dependency="true">mvn:com.google.code.gson/gson/${gson.version}</bundle> 
    <bundle>mvn:uk.co.company.product/product-common-api/${project.version}</bundle> 
    <bundle>mvn:uk.co.company.product/product-core-services/${project.version}</bundle> 
    <bundle>mvn:uk.co.company.product/product-scenario-exporter/${project.version}</bundle> 

<feature prerequisite="true">camel-jetty</feature> 
<feature prerequisite="true">webconsole</feature> 
</feature> 

私がチェックしたし、必要なバンドル(すなわち、共通API)はコンパイル済みのKARファイルのリポジトリフォルダ内に含まれています。

答えて

0

必要なバンドルにmvn urlを使用するだけです。カーの内容は、このような依存関係の原因の1つになります。私はあなたがあなたのカーに誤りがあると仮定します。カールファイルをここに投稿できますか(中立コンテンツにスリム化されるかもしれません)?

あなたのカーのファイル構造は何ですか?ディレクトリリポジトリを含む必要があり、内部は、Mavenリポジトリのようなサブディレクトリとjarである必要があります。その後、mvnのURLが解決されます。

+0

features.xmlで拡張された質問クリスチャン、ありがとう。 –

関連する問題