2016-08-10 12 views
1

Eclipse RCPアプリケーションで、現在同じプラグイン(javax.servlet 2.5.0およびjavax.servlet 3.1.0)の2つのバージョンが使用されています。 Eclipse(Mars 4.5.2)ワークスペースからアプリケーションをデバッグすると、javax.servletの最低バージョンがロードされていないか、次のコンソールスニペットに表示されているように使用可能になっていることがわかります(javax.servlet2.5.0javax.servlet.jspは別のプラグインです)。Eclipseデバッグ設定で同じプラグインの2つのバージョンがロードされない

osgi> ss javax.servlet 

Framework is launched. 

id State  Bundle 
41 INSTALLED javax.servlet.jsp_2.0.0.v200806031607 
8947 ACTIVE  javax.servlet_3.1.0.201605180802 

私は私のデバッグコンフィギュレーションへの外観を撮影したし、両方のバージョン(2.5.03.1.0)は、デバッグセッション中に使用されるように選択されています。 Debug configuration

しかし、私は自分のアプリケーションをインストールし、Eclipse環境を使用せずに、それを実行すると、OSGiフレームワークは、このquestionで説明したように問題なく両方のバンドルをロードすることができます。

私には何が欠けていますか?両方のプラグインをロードしてEclipseからアプリケーションをデバッグする方法はありますか?

答えて

0

OSGiには遅延ロードがあります。デバッグ構成のものをINSTALLEDにすると、OSGiは必要なときにのみ起動します。

デバッグ構成の場合のように、古いバージョンのみを使用するのは難しいですが、ターゲット環境ではsometginhを使用するには3.1.0も必要です。

あなたのデバッグ構成とターゲット環境は、そこでは同等ではありません。

何が必要なのかを知るには、-consoleフラグを使用してターゲット環境を開始し、通常のコマンドを診断依存関係に使用することができます。たとえば、3.1.0でアンインストールコマンドを実行すると、完了する前にそれに依存するものの説明が表示されます。

+0

あなたの貢献に感謝しますが、私の質問は十分にはっきりしていないと思います(私は編集しました)。 'javax.servlet'の' 2.5.0'はEclipseのOSGIコンソールには表示されません。つまり、Eclipseはプラグインをインストールしようとしません( 'javax.servlet.jsp'は私が参照しているプラ​​グインではありません)。 –

関連する問題