これを尋ねる前に本当に多くの調査を行いましたが、何かが欠けているようです。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 を取得し続けます。これは、実装がロードされなかったことを意味します。前もって感謝します。