Java / Gradle - Круговые зависимости проекта - PullRequest
0 голосов
/ 31 марта 2020

Итак, я пишу программу, для которой пользователи создают плагины. До сих пор у меня есть 3 проекта Gradle, основной движок, приложение шаблона плагина и библиотека интерфейса плагина (все интерфейсы, которые реализует плагин пользователя). Пользователь реализует свой собственный плагин и компилирует его в jar (в настоящее время этот jar также включает в себя все интерфейсы плагинов), а затем он помещает плагин в папку ресурсов приложения основного движка (так что приложение основного движка в итоге получит папка плагинов банок). В настоящее время проблема заключается в том, что каждый jar в этой папке имеет копию интерфейсов (что является потерянным пространством), и я хочу, чтобы код плагина пользователя также имел доступ к движку (например, как в Minecraft Forge), почти как если бы они были в одном проекте, который при моей настройке невозможен. Какова лучшая структура для этого?

1 Ответ

0 голосов
/ 31 марта 2020

Затените интерфейсную библиотеку в движке, а затем попросите пользователя добавить зависимость интерфейса с помощью compileOnly

...