У меня есть приложение, в котором определен абстрактный класс. Файл jar этого приложения, скажем,
application.jar
У меня есть другое приложение, в котором есть реализации для класса Abstract, определенного в application.jar
. Это приложение экспортируется как Implementation.jar
. Я использовал Java Serviceloader для загрузки класса из реализации. Jar
ServiceLoader<MyInterface> services1 = ServiceLoader.load(MyInterface.class);
MyInterface myinf = services1.iterator().next();
myinf.myMessage();
И запустил файл jar, используя
java -cp Application.jar;Implementation.jar <MyMain Class here>
У меня возникла следующая проблема
java.lang.ClassNotFoundException: com.dummy.controller.MyInterface
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_181-1-ojdkbuild]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_181-1-ojdkbuild]
Пожалуйста, помогите мне разобраться в проблеме здесь и какой загрузчик классов использовать для ее решения.