Java 从外部jar加载类时发生Classloader错误
我有一个定义了抽象类的应用程序。这个应用程序的jar文件是Java 从外部jar加载类时发生Classloader错误,java,serviceloader,Java,Serviceloader,我有一个定义了抽象类的应用程序。这个应用程序的jar文件是 application.jar 我有另一个应用程序,它有application.jar中定义的抽象类的实现。此应用程序导出为Implementation.jar 我使用Java Serviceloader从Implementation.jar加载类 ServiceLoader<MyInterface> services1 = ServiceLoader.load(MyInterface.class); My
application.jar
我有另一个应用程序,它有application.jar
中定义的抽象类的实现。此应用程序导出为Implementation.jar
我使用Java Serviceloader从Implementation.jar加载类
ServiceLoader<MyInterface> services1 = ServiceLoader.load(MyInterface.class);
MyInterface myinf = services1.iterator().next();
myinf.myMessage();
请帮助我理解这里的问题,以及使用哪个类加载器来解决问题。包名称正确且经过验证?是。他们是正确的。
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]