我正在尝试创建使输入模糊的多个服务(出于测试目的。我正在使用通过java.util.ServiceLoader<T>
功能进行依赖注入的概念。我正在为该项目使用IntelliJ。
Github项目链接:https://github.com/ghoshabhi/java-service-loader
我创建了一个META-INF/services
目录,其中包含一个文件:htmlfuzzing.spi.HtmlFuzzer
提到了我的实现类(htmlfuzzing.TagReplacer
)的路径。我正在尝试创建类似于an example on Oracle's website的结构。
我也继续前进,并通过转到META-INF
将resources
目录标记为Project Settings > Modules
:
这是我的output
目录的样子:
如上所示,实现类的类文件未添加到out/
目录中。
这是我完整的目录结构:
我在这里显然做错了,但是我不明白是什么。将META-INF
目录添加或标记为resources
的正确方法是什么,或者包括所有服务实现类的正确方法是什么?
感谢您提供帮助或解决此问题的提示。
添加了src/resource
文件夹,并将META-INF
目录放在其中。但是我仍然没有在out
目录中看到实现类的类文件。
此外,我注意到的一件事是,我在项目结构中将任何目录标记为resource
时-它从左侧的项目视图窗格中消失。那里有什么奇怪的东西吗?