Я пытаюсь создать фреймворк для плагинов/приложений, и я думаю, что я решил использовать интерфейс поставщика услуг (SPI) на Java для достижения этого. Конечным видением является то, что люди могут загружать плагины (например, в хранилище приложений), а затем просто бросать банки в папку, и они будут работать с существующей программой.Предоставить интерфейс поставщика услуг Java для поставщиков услуг
Итак, у меня есть класс PluginInterface
, который будет моим SPI. Я хочу, чтобы все плагины реализовали этот класс (он имеет базовые методы, такие как doesAccept
, handle
и т. Д.). Поскольку третьи стороны будут создавать поставщиков услуг, , как я могу позволить им ссылаться на этот интерфейс Java в своем коде (чтобы они могли его реализовать), не передавая им исходный код основного приложения?
Любая идея, как я могу создать баночку с только некоторые выбранным кодом (в Intellij или в командной строке)? – JackBlack1
Вам нужно создать проект с несколькими maven. Где у вас есть два проекта api и impl. – Eranda
Maven не является обязательным вариантом в Java, но это не тема ;-) Чтобы правильно упаковать ваши JARS, нужно уважать [учебник] (http://docs.oracle.com/javase/tutorial /sound/SPI-intro.html) ... – bdulac