だから私はEclipseでwebappを書いていて、私のクラスの1つでサービスローダーを使いたいと思っています。問題は、META-INF/services のものをどこに置くかです。ここから(https://stackoverflow.com/a/3421191/2742995)私は見つけました:
しかし、理想的な方法は、プラグインの jar ファイルに含めることです。たとえば、プラグインが WEB-INF/lib/myplugin.jar としてバンドルされていて、プラグイン クラスが com.example.plugin.MyPlugin の場合、jar は次の構造を持つ必要があります。
myplugin.jar!/META-INF/services/com.example.plugin.MyPlugin
だから私はサービスローダーのものを含むモジュールに持っています、ソース: src/main/java/ を含む
- vcs.validation.* (ソースコードを含む)
フォルダ: META-INF/services/vcs.validation.javatests.JavaTest 以下を含む:
- Test1 (vcs.validation.javatests.Test1 を読み取ります) および
- Test2 (vcs.validation.javatests.Test2 を読み取ります)
(インターフェイス vcs.validation.javatests.JavaTest には、Test1 と Test2 の 2 つの実装クラスがあります)
ただし、webapp 全体を war としてパッケージ化し、tomcat にデプロイすると、web-app/WEB-INF/classes/ フォルダーに META-INF/services/ が含まれません。ここで何が間違っていますか?