Java 在web应用程序中放置ServiceLoader配置文件的位置
我正在Eclipse中编写一个web应用程序 我正在尝试使用ServiceLoader类来加载一些插件 ServiceLoader的文档说我需要在META-INF/services中放置一个文件 我已经将该文件放在WebContent/META-INF/service文件夹中,但是当我通过Eclipse运行JUnit测试时,它找不到任何插件 这是文件的正确位置吗Java 在web应用程序中放置ServiceLoader配置文件的位置,java,eclipse,serviceloader,Java,Eclipse,Serviceloader,我正在Eclipse中编写一个web应用程序 我正在尝试使用ServiceLoader类来加载一些插件 ServiceLoader的文档说我需要在META-INF/services中放置一个文件 我已经将该文件放在WebContent/META-INF/service文件夹中,但是当我通过Eclipse运行JUnit测试时,它找不到任何插件 这是文件的正确位置吗 此外,如何从ServiceLoader获取更多调试信息,例如它正在搜索文件的文件夹?META-INF/services应该位于用于定位
此外,如何从ServiceLoader获取更多调试信息,例如它正在搜索文件的文件夹?META-INF/services应该位于用于定位插件的类加载器的类路径中jar文件或资源目录的根目录下 如果您有一个web应用程序,那么您可以有如下目录结构:
<webappname>/WEB-INF/classes/META-INF/services
完成后,您可以使用web应用程序的类加载器获得服务加载器好的,我现在已经让它工作了!永远不会想到它会被放在WEB-INF文件夹中!我将利用您的想法,在我启动Ant脚本后为它创建一个JAR文件。@Leith很酷,但要尽早更改(关于JAR文件):)
myplugin.jar!/META-INF/services/com.example.plugin.MyPlugin