2011-04-28 3 views
3

У меня есть плагин в моем приложении Java. Можно ли загружать классы JAR/Java на лету в ваше приложение или мне нужно включить эти классы JAR/Java в мое приложение?Можно ли загружать JAR в исполняемое Java-приложение на лету?

Моей идеей было загрузить плагин в приложение, а затем вызвать метод интерфейса этого класса, без необходимости перезапуска приложения Java. Возможно ли это или даже разумно?

ответ

10

Я бы рекомендовал использовать OSGi для загрузки/выгрузки динамического плагина. Он обрабатывает все загрузочные материалы класса. Если вы не можете использовать OSGi, вам придется использовать собственные загрузчики классов и настроить их с расположением ваших загружаемых файлов jar.

4

Я также рекомендую OSGi, но для более простой системы на основе плагинов ознакомьтесь с картой java plugin. Он предназначен для упрощения систем на основе плагинов и может быть найден по адресу http://jpf.sourceforge.net/.

Как упоминалось в @Liv, что-то вроде URLClassLoader можно использовать для простых, одноразовых нагрузок, но это быстрое исправление, а не хорошая отправная точка для системы загрузки плагинов.

Смежные вопросы