在问这个问题之前我做了很多研究,好像我错过了什么。我尝试实现一个ServiceLoader,因此我创建了一个示例类:

代码很简单:
testInterface.java
package com.test;
public interface testInterface {
void test();
}testImpl.java
package com.test;
public class testImpl implements testInterface {
@Override
public void test() {
System.out.println("test");
}
} Main.java
package com.test;
import java.util.ServiceLoader;
public class Main {
public static void main(String[] args) {
ServiceLoader<testInterface> serviceLoader = ServiceLoader.load(testInterface.class);
serviceLoader.iterator().next().test();
}
}com.test.testInterface
com.test.testImpl我一直在迭代器部分获得一个NoSuchElementException,这意味着实现没有加载。提前谢谢。
发布于 2015-10-29 22:51:21
将META/services/放入参考资料/,并将其作为源文件夹添加到Eclipse项目中。编译时,它将自动包含在JAR文件中。
https://stackoverflow.com/questions/33425488
复制相似问题