У меня есть система, для которой я создаю плагин через четко определенную точку доступа.Однако рассматриваемый плагин использует некоторый jar, который также использует фреймворк, но другой версии.
Код структурирован таким образом, что код интегрируется в фреймворк (расширяет точки расширения плагина) и код выполняетфактическая работа очень хорошо отделена (в основном сводится к API менее 10 классов).Однако за этими несколькими классами скрыта довольно большая и сложная система (60+ jar-зависимость)
Вопрос заключается в следующем:
Как я могу гарантировать, что что-либо созданное классами API выполненоиспользуя отдельную приватную библиотеку jar-файлов?
Другими словами, как изолировать плагин, чтобы он работал с собственной частной библиотекой, не мешая библиотекам основного приложения?
-- РЕДАКТИРОВАТЬ ---- Пока единственными двумя способами, которыми это может быть достигнуто, является встраивание фреймворка, такого как OSGi, или предоставление моей собственной реализации загрузчика классов.Последнее может быть сделано, и в сети предлагается много вариантов, хотя я не нашел ничего, что дало бы мне уверенность в стабильности, которая мне нужна для системы под рукой.
Что возвращает нас к OSGi, я надеялся наболее легкое решение, хотя, возможно, когда я изучу эту технологию, она сделает то, что я хочу, без особых усилий.