2016-05-16 18 views
0
<feature name="featureA" version="1.1.8"> 
    <bundle start-level="80">mvn:org.antlr/antlr4-runtime/4.5.3</bundle> 
</feature> 
<feature name="featureB" version="1.1.8"> 
    <bundle start-level="80">wrap:mvn:org.antlr/antlr4-runtime/4.0</bundle> 
</feature> 

antlr4-runtimeを使用している2つの機能がありますが、そのバージョンは異なります。 antlrのランタイムクラスでは、両方の機能の4.5.3バージョンからロードされます。 1つの機能に同じライブラリの1つのバージョンを使用し、2つ目の機能にもう1つのバージョンを使用するようにkarafを設定できますか?Karaf:2つの異なる機能は、異なるバージョンの同じライブラリに依存します。

答えて

2

Karafコンテナに明示的な設定を行う必要はありません。バンドルの作成中は、使用しているバンドル(使用しているバンドル)に特定のバージョン(antlrバンドル)を記述する必要があります。 karaf(OSGiコンテナ)は異なるバージョンの同じバンドルのデプロイメントを受け入れるためです。これは、OSGIコンテナの大きな利点の1つです。

0

あなたの機能にある他のジャーを見てください。あなたのjarのマニフェストファイルでは、org.antlr 4.0からパッケージへの依存関係を宣言すると、バージョン4.0が適合する最小バージョンであることを意味するので、バージョン4.5.3も適合します。詳細情報が必要な場合は、このページをご覧ください:osgi-version

関連する問題