2016-01-12 3 views
0

У меня есть проект с несколькими модулями maven ('ассемблер'), и я хотел бы добавить этап FindBugs.Как настроить проект maven multi module и FindBugs?

Проблема заключается в том, что некоторые из проектов не могут создавать автономные, поскольку имеют зависимости от других проектов ... однако, когда я вызываю mvn package из проекта 'ассемблер' - он отлично работает и все внутренние зависимости разрешаются.

Проблема заключается в том, что при выполнении команды mvn findbugs:findbugs эти внутренние зависимости не разрешаются, а maven жалуется.

Поиск в Google, я нашел способ заставить его работать, используя mvn install, но мне не нравится этот подход, поскольку в конце концов это должно использоваться в CI с Jenkins, и я не хочу полагаться на локальное репозиционирование maven на сборке сервер.

По достоинству оцените ваши идеи.

Спасибо.

ответ

1

Не бойтесь mvn install, это ваш друг. Вам нужно создать централизованный репозиторий Maven (например, Nexus или Artifactory) или арендовать один (например, Bintray), к которому вы разворачиваете артефакты Maven.

Дженкинс или любой другой достойный двигатель CI могут выполнять фактическое развертывание для вас, как изначально, так и через Maven. После развертывания другие пользователи, включая Jenkins, смогут разрешить свои зависимости, и вы сможете запускать FindBugs, PMD, JaCoco, хост Javadoc или почти все, что захотите.

Боковое примечание: не смущайтесь термином deploy, поскольку большинство людей, новых для Maven, обычно получают. В контексте Maven у него есть абсолютно ничего с вашей целевой средой. Это просто означает, что артефакт выталкивается в удаленный репозиторий и ничего больше.

+0

Это не совсем то, что мне нужно, но в итоге я узнал, что у Jenkins есть собственный временный репозиторий для каждой сборки, поэтому я буду использовать 'mvn install'. Спасибо, в любом случае. –

Смежные вопросы