4

OSGi バンドルを作成し、Maven をビルド管理ツールとして使用するプロジェクトを開始しています。私の理解では、OSGi バンドルについては、プライベート/パブリックにするパッケージを選択できます。

質問は次のとおりです。

  • com.exampleパッケージをエクスポート パッケージとして宣言し、プライベート パッケージとして宣言するバンドルに依存している場合com.example.internal、ビルド時にcom.example.internal(ビルドが失敗する必要がある) の使用を検出する方法はありますか?

開発時に Eclipse がそれを検出できれば素晴らしいことですが、それができるとはとても思えません。

4

2 に答える 2

4

1 つのオプションは、OSGi 対応のツール セットである Eclipse の Plugin Development Environment (PDE) を使用することです。内部パッケージに対してコンパイルできないため、開発時のチェックが可能です。Maven のバンドル プラグインとは異なり、コード ファーストではなくマニフェスト ファーストであり、これは万人の好みではありません。

PDE を Maven と統合するには、Maven Tycho プラグインを使用するのが最善の策です。これにより、Maven で完全に OSGi 対応のコンパイル ステージが提供されます。

于 2012-06-09T00:13:21.127 に答える
1

これについては、bnd(tools) で多くのサポートが見つかると思います。一般に、bndtools でうまく視覚化されている Import-Package ステートメントを見て、これらの犯人を見つけます。プライベートまたは存在しないパッケージをインポートするときに発生する、インポート パッケージにインポート範囲がない場合に警告/エラーを生成するための bnd(tools) のサポートがあります。

于 2013-06-10T07:20:47.037 に答える