5

バンドルを作成するとき、私の場合はいくつかのjarファイル(http-coreとhttp-client)を埋め込む必要があります。FlexプラグインでMavenを使用すると、膨大なインポートリストが表示されます。必要のないものもあります。今のところ、私は必要のないパッケージを否定しているだけですが<Import-Package>、を使用することもできますImport-Package: resolution:=optional。私は、好ましい方法は何であり、どちらのアプローチの長所/短所は何であるか疑問に思いましたか?

4

1 に答える 1

6

残念ながら、人々はこれらのインポートを引き起こす多くの「パーツを持っているといい」(通常はutilsと呼ばれます)を含みます。多くの場合、犯人は使用したいコアコードとは別のものです。bndtoolsを使用すると、依存関係がどのように実行されるかを簡単に調べることができます。

bndtoolsとmavenではbndを使用します。bndを使用すると、JARの一部のみをバンドルにコピーするのが非常に簡単になります。そうすれば、依存関係を最小限に抑えることができます。Private-Packageを使用して、本当に必要なパッケージをコピーしてから、インポートを確認してください。必要と思われるものをインポートする場合は、それをPrivate-Packageに追加します(bndtoolsでは、ドラッグアンドドロップでこれを行うことができます)。

最後に、おそらく多くの不要なインポートを取り除くことができます。ただし、通常はいくつか残っています。その場合、import-Packageステートメントでresolution:=optionalでそれらを装飾します。

Import-Package: com.oracle.whatever; resolution:=optional, *

最後の*を忘れないでください。

于 2012-04-27T14:01:28.703 に答える