Ошибка загрузчика классов при загрузке класса из внешнего jar - PullRequest
0 голосов
/ 18 марта 2020

У меня есть приложение, в котором определен абстрактный класс. Файл 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]

Пожалуйста, помогите мне разобраться в проблеме здесь и какой загрузчик классов использовать для ее решения.

...