0

最近、ServiceLoader を使用してロードするプラグインを作成して遊んでいます。ServiceLoader がプラグインを見つけるには、META-INF/services/ の下の jar にテキスト ファイルが含まれている必要があります。テキスト ファイルには、ServiceLoader が「探している」インターフェイスの名前を付ける必要があり、実装するクラスの正規名を含める必要があります。これはすべて問題なく動作していますが、このアプローチには本当に厄介な問題が 1 つあります。プロジェクトをビルドするたびに、手動で/services/ フォルダーとテキスト ファイルを jar に追加する必要があります (Winrar を使用)。これは、開発中は非常に面倒です。テストするためにプロジェクトを常に再構築する必要があるためです。つまり、フォルダーとテキスト ファイルも追加する必要があります。それも毎回手作業で。

プロジェクトのビルド時に Java に META-INF/services/ フォルダーとテキスト ファイルを自動的に追加させる方法があることを本当に願っています。:)

ちなみに、ビルドプロセスを自動化するために内部でAntを使用しているNetbeansを使用しています。この情報は私の質問に関連している可能性があると思います。

ありがとう!

4

1 に答える 1

2

「ソース パッケージ」を右クリックし、「新規 | その他」を選択します。

ここに画像の説明を入力

「カテゴリ」ツリーから「その他」を選択します。「ファイルの種類」から「フォルダ」を選択

ここに画像の説明を入力

フォルダに名前を付けて...

ここに画像の説明を入力

ヴィオラ :D

ここに画像の説明を入力

新しいフォルダーを右クリックし、同じ基本手順に従いますが、今回は代わりに「空のファイル」を使用してテキスト ファイルを作成します。

于 2012-11-12T00:31:42.087 に答える