Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在web应用程序中放置ServiceLoader配置文件的位置_Java_Eclipse_Serviceloader - Fatal编程技术网

Java 在web应用程序中放置ServiceLoader配置文件的位置

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应该位于用于定位

我正在Eclipse中编写一个web应用程序

我正在尝试使用ServiceLoader类来加载一些插件

ServiceLoader的文档说我需要在META-INF/services中放置一个文件

我已经将该文件放在WebContent/META-INF/service文件夹中,但是当我通过Eclipse运行JUnit测试时,它找不到任何插件

这是文件的正确位置吗


此外,如何从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