Я искал в Интернете ссылку на хороший учебник о том, что я собираюсь описать, но я еще не нашел его. Я надеюсь, что у кого-то здесь уже есть идея, где его найти и вы можете отправить ссылку на него здесь.Создание moddable приложения с OSGi
Я хочу знать, как использовать OSGi/Equinox для создания приложения (игры, бизнеса или другого), которое позволяет добавлять библиотеки позже неизвестного контента.
Эта идея очаровывала меня с первого раза, когда я использовал Minecraft Forge, и все, что мне нужно было сделать, - это выбросить JAR в каталог мод, который, вероятно, был идентифицирован как путь к классам или что-то в этом роде.
Сначала я исследовал тему в .NET и нашел подходящий ответ в библиотеках «System.AddIn» и «System.AddIn.Contract». Здесь есть хороший учебник: MSDN - Creating an Extensible Application. Это работало очень хорошо. Вы создаете конвейер интерфейсов и контрактов, которые определяют типы AddIns, а затем AddIns могут быть добавлены позже, просто отбросив библиотеки классов в правильном каталоге.
Теперь я активно исследую, как это сделать на Java, и сейчас я просматриваю плагины OSGi. Тем не менее, все примеры, с которыми я столкнулся до сих пор, сосредоточены на связках, которые известны во время разработки. Более того, есть разговор «DynamicImport-Package», но ресурсы, которые я видел до сих пор, нахмурились.
Итак, возникает вопрос, знает ли кто-нибудь о ресурсе, который обсуждает метод, который «улыбается» для динамического обнаружения и загрузки неизвестного набора (библиотеки классов), который соответствует определенному интерфейсу?
Отлично! Я собираюсь взглянуть на статью, которую вы опубликовали. Я должен был бы дать твердый ответ в течение следующих 24 часов. – MrGoodfix
Спасибо за хорошую находку! Время свернуть рукава. – MrGoodfix
Я хотел бы добавить эту ссылку для тех, кто читает это после факта: http://docs.oracle.com/javase/tutorial/ext/basics/spi.html – MrGoodfix