Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从外部jar加载类时发生Classloader错误_Java_Serviceloader - Fatal编程技术网

Java 从外部jar加载类时发生Classloader错误

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

我有一个定义了抽象类的应用程序。这个应用程序的jar文件是

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]