java - Java - ServiceLoader - Intellij 找不到实现类文件
问题描述
介绍
我正在尝试创建多个对输入进行模糊测试的服务(出于测试目的。我正在使用依赖注入的概念java.util.ServiceLoader<T>
。我在这个项目中使用 IntelliJ。
Github 项目链接:https ://github.com/ghoshabhi/java-service-loader
问题
我创建了一个META-INF/services
目录,其中包含一个文件:htmlfuzzing.spi.HtmlFuzzer
提及我的实现类 ( htmlfuzzing.TagReplacer
) 的路径。我试图创建一个类似于Oracle 网站上的示例的结构。
我还继续将META-INF
目录标记resources
为Project Settings > Modules
:
这是我的output
目录的样子:
正如您在上面看到的,实现类的类文件没有添加到out/
目录中。
这是我的完整目录结构:
问题
我显然在这里做错了什么,但我无法理解是什么。META-INF
将目录添加或标记为resources
的正确方法是什么,或者包含所有服务实现类的正确方法是什么?
任何有关解决此问题的帮助或提示表示赞赏。
编辑 - 1
添加src/resource
文件夹并将META-INF
目录放在其中。但是我仍然没有在out
目录中看到实现类的类文件。
此外,我注意到的一件事是,一旦我将任何目录标记为resource
项目结构中的目录 - 它就会从左侧的项目视图中消失。有什么奇怪的地方吗?
解决方案
推荐阅读
- javascript - 如何在reactJs中单击特定单元格的2D网格中更改框的颜色?
- javascript - 如何设置从 app.post 发送的响应的样式?
- html - 如何更改 flexbox 中图片的大小?
- c# - Microsoft-Windows-Security-SPP 记录级别等于 0 的信息
- python - 代码片段在第一次运行时提供错误消息,但第二次将完美运行而无需进行任何更改
- google-calendar-api - 有没有办法通过 nodemailer 可靠地将日历事件添加到用户日历?
- amazon-web-services - 如何使我的 meta-aws 与我的 yocto 兼容
- python - Combine all tiff images into one single image
- html - 从引导网格电话号码列中的可点击链接拨打电话
- html - 如何将图像链接到另一个页面?