IgorDanilov
|
|||||||||||
1 | |||||||||||
Разработка плагина (ClassCastException)14.10.2009, 16:01. Показов 2200. Ответов 1
Метки нет (Все метки)
Проблема состоит в следующем. Пытаюсь написать ядро, к которому можно подключать плагины. Первым делом запускается класс Bosstrap который загружает интерфейс плагина в classloader, наследуемый от Boostrap classloaderа, самого корневого в иерархии. Этот classloader называется commonsLoader. Затем от commonsLoader наследуется еще один classloader, который называется appLoader. В appLoader загружаются ядро и плагины. Вообщем, интерфейс должен быть видим и ядру и плагинам. Схема:
Bosstrap -> commonsLoader(интерфейс) -> appLoader (ядро и плагины) однако ядро (или основное приложение) состоит из нескольких классов(в том числе PluginInfo). а я загружаю в appLoader только один класс - Core. и когда в Core создается объект класса PluginInfo, он по-видимому загружается стандартным classloader java, который не видит интерфейс, так как наследован от Boostrap. Соответственно возникает ClassCastException на строке кода (из класса) PluginInfo:
Вобщем вот Boostrap в первом варианте, когда загружаю только класс Core:
Посоветуйте пожалуйста, что делать, чтобы подключить плагины. |
14.10.2009, 16:01 | |
Ответы с готовыми решениями:
1
Непонятный ClassCastException ClassCastException in Deserialization java.lang.ClassCastException & DefaultListModel Java.lang.ClassCastException - что такое? |
36 / 36 / 10
Регистрация: 04.02.2010
Сообщений: 82
|
||||||||||||||||||||||||||||||||||||
04.02.2010, 17:53 | 2 | |||||||||||||||||||||||||||||||||||
Если ещё актуально
Я так понимаю, речь идёт о вот этом примере: http://voituk.kiev.ua/2008/01/14/java-plugins/ 1. Чтоб при загрузке Core не случалось "Класс не найден" нужно всего лишь для binDirURL уточнить путь к файлу с твоим основным классом. То есть сейчас:
Если не хочется хардкодить, но при этом уверен, что в папке bin будет только этот джарник, то можно вот так:
2. Про плагины. Тут, скорее всего, такая ошибка: В методе
3. Загляни в подключаемые тобой джарники с интерфейсом плагинов, ядром (те которые plugin-api.jar, core.jar и тп). Если в коде написано
ЗЫ: сам недавно изучал эту статью и столкнулся с той же проблемой, гугленье навело на этот пост
0
|
04.02.2010, 17:53 | |
04.02.2010, 17:53 | |
Помогаю со студенческими работами здесь
2
Ошибка Looking for messag center service Error - java.lang.ClassCastException: sun.rmi.registry.RegistryImpl_Stub cannot be cast to Java.lang.ClassCastException: MyBaza.Diag cannot be cast to java.lang.Comparable Joomla 3.5 VM 3.0.6 Разработка плагина для VM Разработка плагина для QtCreator Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |