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ファイルのリポジトリフォルダ内に含まれています。
features.xmlで拡張された質問クリスチャン、ありがとう。 –