Publi sh один пакет из проекта как артефакт maven - PullRequest
0 голосов
/ 09 апреля 2020

Я работаю над системой микросервисов, состоящей из многих API, написанных на Java (пружинная загрузка), я сталкиваюсь с некоторыми случаями, когда на микросервисе мне приходится использовать модели, определенные в другой (например, когда API-интерфейс для -API запрос сделан, и результаты должны быть проанализированы в объект). Модели обычно определяются в пакете «models» и не зависят от других пакетов. Мне не очень нравится идея копировать / вставлять из проекта в другой, так как он подвержен ошибкам и легко влечет за собой много накладных расходов (например, когда модель требует редактирования). Мне было интересно, есть ли способ, может быть, с конфигурацией maven, извлечь только пакет модели в отдельный jar, а затем опубликовать sh как артефакт maven (у нас есть внутренний репозиторий). Это позволило бы нам свободно использовать классы моделей, принадлежащих проекту, в другом, не беспокоясь о сохранении обновленных двух определений одной и той же модели. Это также было бы намного лучше, чем иметь модели как отдельный проект.

Ответы [ 2 ]

1 голос
/ 09 апреля 2020

Ну, лучше извлечь весь модуль вместо пакета, просто добавьте его в pom. xml.

Не знаю, правильно ли я вас понял -
Давайте рассмотрим ситуацию: вы есть проект A, где у вас есть конечная точка, скажем, у вас есть класс User. Этот класс должен быть «общим», поэтому давайте поместим его в модуль ProjectA-API. Вы определяете упаковку API как jar и добавляете ее в зависимости в модуле ProjectA-War. И также вы добавляете его в pom в ProjectB-War, и затем вы можете использовать один и тот же класс модели для Пользователя как на вызывающем, так и на вызывающем сайтах.

Это полезно или вы имели в виду что-то другое?

Небольшая диаграмма для визуализации - enter image description here

0 голосов
/ 09 апреля 2020

Нет.

Решение состоит в том, чтобы модели представляли собой отдельный проект.

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

...