В моих проектах eclipse есть ссылка на велоспорт

Я делаю плагины, запрашиваемые сервером для игры Minecraft, используя api Кран

В этом API есть класс Player. Для целей этих плагинов (и потому что это проще) мне нравится создавать свой «собственный класс плеера».

Итак, есть Plugin1, Plugin2 и Plugin3. Я назову их API, Faction и Scoreboard.

Плагины API содержат мой собственный класс игрока, у которого есть методы, которые относятся к некоторым другим классам фракций и табло. В зависимостях проекта SO API есть Scoreboard и Faction. НО, поскольку мне также нужно использовать свой собственный класс игрока в Scoreboard и Faction, они оба имеют зависимость проекта от API.

В основном Табло -> API <- Фракция, НО Фракция <- API и Табло <- API

Итак, у меня проблема с ездой на велосипеде. И я не знаю, как это решить, потому что хочу иметь несколько четких и отдельных проектов. Я не считаю это большой проблемой, поскольку все выглядит стабильно, но я провел несколько исследований и обнаружил, что это проблема.

Я надеюсь, что это было достаточно ясно. Спасибо за любую помощь.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
0
38
1

Ответы 1

Рекомендуется разделить общие компоненты, используемые в нескольких проектах, в общую библиотеку. Таким образом, библиотека может быть импортирована в проекты, где это необходимо, и вы избежите циклических зависимостей.

Я бы сказал, извлеките все POJO, такие как ваш собственный Player, в библиотеку и используйте ее во всех этих проектах. Создайте новый класс в любом из проектов для той части кода, которая использует другие классы, такие как Scoreboard или Faction. Или используйте интерфейсы и реализуйте их в своих проектах.

Под POJO вы имеете в виду простой старый объект Java? Какой в ​​основном класс, у которого есть только геттер и сеттер? И я не понимаю, как использование интерфейсов решило бы эту проблему ...

Jules Peyron 09.01.2019 19:53

Другие вопросы по теме