Как структурировать проекты, использующие одни и те же базовые/общие библиотеки?

Итак, я работаю над проектом, который на данный момент состоит из двух частей.

Одно из них — настольное приложение. Другое — серверное приложение.

Оба этих приложения имеют общие библиотеки.

На данный момент у меня есть оба из них в одном проекте, но мне интересно, может быть, мне следует разделить их.

Как кто-то справляется с этим?

Что я могу думать о том, что на самом деле у меня есть 3 проекта, один из которых содержит общие библиотеки, один для сервера, а другой для настольной части. А затем вы создаете общие библиотеки, отправляете их в свой локальный репозиторий maven и можете включать их в оба?

Теперь я просто могу включить их через компиляцию («общая библиотека»), а затем общие библиотеки просто скомпилировать, если были изменения. При другом подходе мне пришлось бы компилировать общие библиотеки каждый раз отдельно.

Мне просто интересно, как в бизнес-приложениях обрабатываются такие вещи и есть ли какие-то архитектурные шаблоны для таких проблем?

просто используйте docs.gradle.org/current/userguide/multi_project_builds.html ! это полностью соответствует вашим потребностям. создать напр. common, server и desktop подпроекты (см. примеры здесь docs.gradle.org/current/userguide/…). общая конфигурация, используемая этими тремя подпроектами, может быть централизована в сценарии сборки корневого проекта.

M.Ricciuti 17.12.2020 21:49

Да, но дело в том, что мне не нужны подпроекты, я хочу их полностью разделить, я хочу иметь две отдельные базы кода для сервера/рабочего стола. Вот в чем был вопрос, я думаю.

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

Ответы 1

Ответ принят как подходящий

Вы должны разделить их на три разных проекта и использовать Gradle Composite Build, когда хотите разрабатывать (некоторые из них) вместе. Составная сборка обеспечивает лучшую изоляцию, чем многопроектная сборка, и хорошо масштабируется, когда у вас все больше и больше установок.

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