2

私が使用しapache-servicemix-4.4.1 -fuse-03-06 ているのは、同じjarの2つのバージョンModel-1.0.jarModel-2.0.jar. どちらも同じクラスで、メソッドが異なります。deploy フォルダーには、2 つのブループリント プロジェクトblueprint-one.jarblueprint-two.jar. blueprint-one.jar使用Model-1.0.jarblueprint-two.jar使用Model-2.0.jar

しかし、展開フォルダーに両方のjarを展開すると、NoSuchMethod exception.

誰でもこれについて私を助けることができますか?

4

2 に答える 2

1

OSGi import | exportを使用し、2つのブループリントバンドルに、使用する正確なバージョン(または範囲)をインポートさせる必要があります。したがって、青写真Aのインポート[1.0,2)。そして、青写真Bのインポート[2.0,3]。次に、たとえばAはすべての1.xバージョンをインポートします。そして、Bはすべての2.xバージョンをインポートします。バージョン範囲のOSGi構文についてグーグルで検索できます。

また、モデルバンドルは、バージョン番号(1.0.0など)をエクスポートする必要があり、もう1つは2.0.0です。

于 2012-12-07T07:10:58.137 に答える
0

同じクラスローダに同じクラスの異なるバージョンをロードさせることはできません。モデル 2 を使用するために設計図 1 を取得できませんか?

于 2012-12-06T02:45:01.767 に答える