最近、ServiceLoader を使用してロードするプラグインを作成して遊んでいます。ServiceLoader がプラグインを見つけるには、META-INF/services/ の下の jar にテキスト ファイルが含まれている必要があります。テキスト ファイルには、ServiceLoader が「探している」インターフェイスの名前を付ける必要があり、実装するクラスの正規名を含める必要があります。これはすべて問題なく動作していますが、このアプローチには本当に厄介な問題が 1 つあります。プロジェクトをビルドするたびに、手動で/services/ フォルダーとテキスト ファイルを jar に追加する必要があります (Winrar を使用)。これは、開発中は非常に面倒です。テストするためにプロジェクトを常に再構築する必要があるためです。つまり、フォルダーとテキスト ファイルも追加する必要があります。それも毎回手作業で。
プロジェクトのビルド時に Java に META-INF/services/ フォルダーとテキスト ファイルを自動的に追加させる方法があることを本当に願っています。:)
ちなみに、ビルドプロセスを自動化するために内部でAntを使用しているNetbeansを使用しています。この情報は私の質問に関連している可能性があると思います。
ありがとう!