大きな Java EE アプリケーションと単純な OSGi Bundle アプリケーションがあります。この Java EE アプリケーションの Java クラスをバンドルで使用する必要があります。これどうやってするの?
バンドルの Java ビルド パスに Java EE アプリを「必要なプロジェクト」として含めようとしましたが、適用できません。
ライブラリとして Java EE クラスが必要であると仮定すると、それらをバンドル内の jar としてパッケージ化し、Bundle-ClassPath ディレクティブを使用できます。
bndtools (または Maven バンドル プラグイン) を見てください。bnd を使用すると、他のプロジェクトのクラスを含めるのは簡単です。
したがって、bndtools では、ビルドパスに Java EE アプリを追加するだけで、バンドルに含めたいパッケージ名で Private-Package ディレクティブを使用できます。ワイルドカードを使用できます。
すべての共有クラスを含むバンドルであるプロジェクトを作成することもできます。次に、このバンドルが Java EE アプリに追加されます。