Плагин m2Eclips: Resolve Workspace Artifacts - это хорошая практика - PullRequest
0 голосов
/ 07 ноября 2019

Здравствуйте, я работаю над проектом Maven, который требует, чтобы я включил «Устранение артефактов рабочей области» во время операции Maven Build. Без этого я получаю ошибку сборки, так как определенные зависимости не разрешаются.
Из этой ссылки я понимаю, что делает "Resolve Workspace Artifacts". Чтобы подвести итоги: я начинаю заново, в моем местном репо нет ничего. Я клонирую проект из Git Lab, и пока выполняется «mvn clean install», я включаю «Resovle Workspace Artifacts».
Это многомодульный проект maven.

Я хочу понять ...
1. Если все в порядке (проект Maven определен так, что нам требуется включить «Устранение артефактов рабочей области»)?
2. Может ли эта проблема возникать из-за неправильного / неправильного проектирования зависимостей проекта Maven?
3. Если оставить как есть, возникнут ли какие-либо проблемы, если я планирую перейти к фазе CI-CD?

Это веб-проект Spring Boot

1 Ответ

1 голос
/ 07 ноября 2019
  1. В идеале этого следует избегать, но это помогает и может быть быстрее, если вы одновременно разрабатываете несколько проектов, которые находятся в вашем рабочем пространстве, но по какой-либо причине уже не могут быть install отредактированы вразрешаемое РЕПО. Но на самом деле вы можете просто запустить mvn install на этих зависимостях, чтобы хотя бы включить их в локальный репозиторий. Хотя я понимаю, что это может быть «слишком большим шагом», когда вы просто возитесь с кодом и хотите быстро выполнить итерацию (с другой стороны, зачем тогда делать полную сборку maven).

  2. Возможно, по какой-то причине вы не запустили / не установили еще один из ваших собственных проектов, но от этого зависит проблема. Если он не находится в локальном или удаленном публично разрешаемом репо, maven не сможет разрешить его без «Разрешить артефакты рабочей области». Но да, это может быть проблемой с вашим деревом зависимостей - трудно оценить без вашего pom.

  3. Нет проблем, пока сервер CI / CD может извлечь недостающие зависимости.

Если недостающие зависимости размещены в частном репозитории, вероятным решением является добавление записи <repository> в ваш pom.

...