0

OSGi に依存する Web アプリケーションを維持しています。Maven は、org.osgi-foundation-1.0.0.jar次のような JDK コア ランタイムの一部と同じクラスを含むと思われるjar をプルします。

java.util.\*;
java.io.\*;

などなど。

これは非常に奇妙に思えますが、なぜこれが必要なのかを尋ねなければなりません。さらに、これらはサードパーティ ライブラリの「不正なパッケージ名」であるため、Web アプリケーションを JBoss 6 にデプロイできません。

の目的はorg.osgi-foundation-1.0.0.jar何ですか? それは必要ですか?

4

1 に答える 1

1

org.osgi.foundationFoundation 実行環境のすべてのクラスを含むバンドルです (OSGi Compendium 仕様のセクション 999 を参照)。

つまり、実行環境とは、フレームワークから利用できるはずの一連のクラスです。これらは、 や などのプロファイルにグループ化されJavaMEますOSGi/Minimum。バンドルは、マニフェストで特定の実行環境の使用を表現し、たとえば AWT を提供するプラットフォームでのみ開始されるようにすることができます。

org.osgi.foundation見つけたバンドルは、これらの環境の 1 つを表しています。これにはスタブ クラスしか含まれていないため、コンパイル時にのみ使用されます。

そのため、Maven がバンドルをコンパイルの依存関係として取り込む場合は問題ありませんが、アプリケーションと一緒にデプロイすることは絶対にしないでください。

于 2012-12-11T12:35:53.103 に答える