私はRCP4アプリケーションを構築しています。RCP4プロジェクトにosgi以外のjarファイルを追加する
私はa.jarとb.jarという2つのnon-osgi jarを持っています。両方のjarにはosgiに依存しないものがたくさんあります。 a.jarの依存関係の1つはb.jarです。だから、階層は次のようになります。bDependencyN.jarsの
My application
|--a.jar
|----aDependency1.jar
|----aDependency2.jar
|----aDependencyN.jar
|----b.jar
|------bDependency1.jar
|------bDependency2.jar
|------bDependencyN.jar
一部がaDependencyN.jars の異なるバージョン(ある例では、コモン・ログ-1.1.2 VSコモンズ・ログ-1.0.4.jarです.jar)
RCP4アプリケーションからa.jarとb.jarを直接参照する必要があります。言い換えれば、私はコードを書くとき、私ははA.jarとb.JARがからパッケージをインポートします)最善のアプローチである
:
コマンドライン経由で2.4 BND使用以外のすべてをオンにします-osgiはosgiのものに入れます。次に、すべてのjarをターゲットファイル経由でプロジェクトに追加します
「既存のJARアーカイブからプラグイン」を作成し、a.jarとそのすべての依存関係を選択して、「デプロイ可能なプラグインとフラグメント"a.with.libs.jarと呼ばれる。私はb.jarと同じことを行い、b.with.libs.jarを作成します。次に、2つの新しいjarファイルをターゲットファイル経由でプロジェクトに追加します。
新しいプロジェクトを作成します。「既存のJARアーカイブからプラグイン」を作成し、a.jarとそのすべての依存関係、b.jar、その依存関係をab.with.libs.jarと呼ばれる「デプロイ可能なプラグインとフラグメント」としてエクスポートします。私はターゲットファイル経由でプロジェクトに新しいjarファイルを追加します
上記の提案よりも良いアプローチがありますか?
お返事ありがとうございます。私の現在のプロジェクトではMavenを使用していません。以前はGradleを使用していませんでした。 bnd-platformのウェブサイトのドキュメントは私にとっては少し進歩しているようですが、上記の例を反映した正しいgradleファイルをどこから始めるべきかは分かりません(すべてのローカルjar)。 – ekjcfn3902039
すべてのローカルJAR(Mavenの依存関係ではない)であれば、bnd-platformは自動的に推移的な依存関係を追加することができないため、少しのメリットが失われます。上記のテンプレートを使用することができます。ドキュメントから、Jarsを追加するためのローカル依存関係のセクションのみが必要です。https://github.com/stempler/bnd-platform#local-dependencies – stempler