• Paranoid - курс по анонимности и безопасности в сети от команды codeby. Защита персональных данных, анонимность в сети интернет, настройка виртуальных машин, безопасная передача данных, анти форензика и еще много всего полезного. Подробнее ...

Приложение с поддержкой плагинов

sn@ke

Member
08.10.2006
21
0
#1
Требуется разработать приложение с поддержкой плагинов на JAVA. Плагины будут в jar-файлах. Может у кого есть доки как это делается с примерами, может какие ссылки интересные по этому вопросу есть. Гуглюсь уже два дня и ни чего толкового по этому вопросу не нашел.
 

LuMee

Well-known member
02.05.2006
477
0
#2
А в чем конкретно проблема?
Насколько я себе представляю задачу, сделать предстоит что-то наподобие такого:
1. продумать интерфейсы, которые должен будет реализовывать какой-то класс плагина, чтобы приложение могло с ним взаимодействовать. В простейшем случае интерфейс может состоять из какого-нибудь метода типа init, инициализирующего плагин, которому в качестве параметра будут передаваться некоторые объекты твоего приложения, необходимые плагину, чтобы с приложением взаимодействовать
2. для собственно удобства в каждый jar класть, например, xml-файлик, описывающий плагин: название, полное имя класса, реалзиующего нужный интерфейс из п.1, ну и всякие там дополнительные сведения по вкусу
3. при запуске приложения загрузить плагины: прошерстить соотв. папочку, перебрать все имеющиеся там jar'ы. У каждого jar'а из xml-файла (п.2) узнать, как зовется главный класс, создать объект этого класса и вызвать на нем нужные методы (п.1). Здесь нужно смотреть в сторону java.reflection. Возможно, для реализации этого этапа потребуется написание своего class loader'а, но это вроде не сильно сложно.
В общем, технические сложности, я думаю, возникнут лишь на третьем этапе, на первых двух нужно просто определиться, каким образом плагины будут взаимодействовать с приложением и приложение с плагинами, ну и, соответственно, что им для этого нужно знать друг о друге.