Реактор Maven и площадка

У меня есть многомодульный проект с родителем pom.xml и несколько модулей, где некоторые из модулей зависят друг от друга. В каталоге проекта я могу позвонить

mvn test

проводить юнит-тесты в каждом модуле. Здесь нет проблем. Но если я позвоню

mvn site

один из модулей отчетов

[ERROR] Failed to execute goal on project myModule_C: Could not resolve dependencies 
for project org.myModule_C:jar:0.0.1-SNAPSHOT: The following artifacts could not be
resolved: org.myModule_A:jar:0.0.1-SNAPSHOT, org.myModule_B:jar:0.0.1-SNAPSHOT: Failure
to find org.myModule_A:jar:0.0.1-SNAPSHOT in http://artifactory-server:8081/artifactory/repo
was cached in the local repository, resolution will not be reattempted until the update
interval of server has elapsed or updates are forced -> [Help 1]

Я думаю, что это не должно происходить, так как эти зависимости обнаруживаются во время "mvn test". Кроме того, они находятся не на сервере артефактов, а являются частью родительского проекта. Цель, которая упоминается в ОШИБКЕ, является целью site, Почему mvn test преуспеть (относительно найденных зависимостей) и mvn site не? Нужно ли строить сайт особым образом - ведь это сборка реактора?

1 ответ

Решение

Вы должны выполнить mvn install как минимум один раз. Пожалуйста, смотрите дополнительную информацию в Maven Build Life Cycle и Maven за 5 минут.

Вот обзор

Maven Фазы

Хотя этот список и не является исчерпывающим, это наиболее распространенные этапы жизненного цикла по умолчанию.

validate: подтвердить правильность проекта и получить всю необходимую информацию

компилировать: компилировать исходный код проекта

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

package: возьмите скомпилированный код и упакуйте его в распространяемый формат, такой как JAR.

интеграционный тест: при необходимости обработайте и разверните пакет в среде, в которой могут выполняться интеграционные тесты

проверить: выполнить любые проверки, чтобы убедиться, что пакет действителен и соответствует критериям качества

install: установить пакет в локальный репозиторий, для локального использования в качестве зависимости в других проектах

Развертывание: выполняется в среде интеграции или выпуска, копирует окончательный пакет в удаленный репозиторий для совместного использования с другими разработчиками и проектами.

Помимо списка по умолчанию, приведенного выше, есть еще два других жизненных цикла Maven. Они есть

clean: очищает артефакты, созданные в предыдущих сборках

site: генерирует документацию по сайту для этого проекта

Я надеюсь, что это может помочь.

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