2010-03-03 4 views
2

Если я хочу, чтобы моя программа Java могла принимать плагины, как я могу заставить плагины Java использовать классы основной программы, не включая весь код в код плагина? Как плагин может иметь доступ к интерфейсу программ без включения его в собственный файл jar?Как сделать Java-плагины?

ответ

5

Посмотрите на Java Plugin Framework. В нем используется концепция точек расширения или мест в приложении, которые предназначены для расширения. Плагины - это средство, которое затем расширяет ваше приложение.

0

Используйте java.net.URLClassLoader.newInstance с загрузчиком классов вашего приложения в качестве родителя.

+0

Что делать, если я использую отражение, чтобы узнать, есть ли у плагина определенные имена метододов и имена классов? А затем вызовите эти методы из основной программы? – newbie

+0

@newbie, это общая идея, да. Таким образом, вам не обязательно знать, с какими классами вы столкнетесь во время компиляции. Программист плагина просто должен убедиться, что он соответствует интерфейсам, которые ожидает ваше приложение. –

+0

@newbie @Mike Нет необходимости в этом. Вы можете просто реализовать интерфейс/расширить класс из кода приложения. –

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