/ / Casting Object, създаден с URLClassLoader към Interface Type - java

Casting обект, създаден с URLClassLoader за интерфейс Тип - java

Опитвам се да зареждам класове от jar файл и да създавам екземпляри от тези класове. Всички класове въвеждат IModule интерфейс.

Екземплярът е създаден успешно, но всеки път, когато се опитвам да хвърля обекта на IModule тип, получавам ClassCastException.

Това е моят код:

urlCl = new URLClassLoader(new URL[] { classFile.toURL()},System.class.getClassLoader());
Class projectClass = urlCl.loadClass("Project");
IModule projectObj = (IModule) projectClass.newInstance();

Моите проекти са в затъмнение, като IModule е отделен проект, който се добавя към пътя на класа както на "Project", така и на "Loader".

Всички предложения за това, което правя погрешно? Благодаря.

Отговори:

1 за отговор № 1

В Java един клас или интерфейс се идентифицират от напълно квалифицираното име и от зареждащия го клас.

Вероятно се опитвате да хвърлите обекта в правилния интерфейс, но се зарежда от друг клас.

Погледни това:

Решение за ClassCastException поради проблем с ClassLoader