Я строю свой многофункциональный проект модуля с помощью командыMaven зависимостей для сборки перед проверкой нексус
mvn clean deploy -DskipTests
Этот проект имеет 3 Maven модули: A, B, C.
А не зависит ни от чего ,
B ни на что не зависит.
С зависит от А.
Я получаю очень странный сценарий, в котором специалист видит, что C зависит от А, а затем вместо построения из источников, которые он решает проверить нексус для него (как моего .m2 местных репозиторий не содержит A), и он извлекает старую версию A. Затем он продолжает строить все, но когда он достигает C, он использует эту старую версию A и терпит неудачу.
Если я запустил свою сборку в автономном режиме, то она отлично работает, но проблема в том, что я хочу развернуть свои новые артефакты в nexus, когда закончите, а режим автономной работы maven запрещает мне это делать.
Мне интересно, если я делаю что-то действительно странное, это похоже на довольно простой в использовании сценарий.
Редактировать: Если я вхожу в систему для nexus, и я вручную удаляю все старые артефакты, а затем строю с помощью приведенной выше команды, все работает нормально.
Изменить 2: С зависит от А с "при условии" рамки, что-то вроде:
<dependency>
<groupId>com.test</groupId>
<artifactId>application</artifactId>
<scope>provided</scope>
<type>jar</type>
</dependency>
(версия объявлена в разделе dependencyManagement родительского POM).
Вы не должны видеть поведение, которое вы описываете. Если ваш проект настроен правильно, maven должен использовать вывод из «A» для построения «C». Я думаю, что у вас может быть проблема в вашем POM-файле. – Tim
Покажите свой файл pom. Я предполагаю, что ваши зависимости между модулями просто неправильны, потому что вы описываете типичный симптом, если это так. – khmarbaise