Как пропустить испытания при использовании реактора Maven? - PullRequest
3 голосов
/ 22 ноября 2010

Я работаю над мультимодульным проектом Maven.Я хочу собрать данный модуль и пропустить модульные тесты, чтобы ускорить процесс сборки.

Я пробовал следующее:

mvn reactor:make -Dmake.folders=search -Dgoals=package,-DskipTests

mvn reactor:make -Dmake.folders=search -Dgoals=package -Dmaven.test.skip=True

Однако это никак не сказывается.Любые подсказки?

Ответы [ 3 ]

6 голосов
/ 01 января 2011

Ваша первая строка выглядит как правильная идея, но вместо -Dgoals вы должны использовать -Dmake.goals.

На странице примеров плагинов реактора :

Плагин реактора запускает вторую копию Maven, чтобы творить чудеса.Эта копия Maven не обязательно имеет все флаги и параметры, которые вы передали своей первой копии Maven, включая флаг --debug, системные свойства и -DskipTests.

Вы можете передавать дополнительные аргументыдля порожденного Maven, рассматривая их как цели с -Dmake.goals, например:

mvn reactor:resume -Dmake.folders=barBusinessLogic -Dmake.goals=install,-DskipTests

Другими словами, «цели» - это просто дополнительные параметры командной строки, передаваемые порожденному Maven;они не обязательно должны быть «целями».

Если вы хотите стать действительно модным, вы можете предпочесть просто запустить плагин реактора в режиме -Dmake.printOnly, как описано выше.Это выведет команду, которую плагин использовал бы для сборки, но вы можете настроить эту командную строку на свое усмотрение!

3 голосов
/ 30 ноября 2010

Учитывая структуру проекта

/
  A/pom.xml
  B/pom.xml
  C/pom.xml
  D/pom.xml
  E/pom.xml
  pom.xml (parent pom file that includes A,B,C,D,E modules)

Похоже на вашу

mvn reactor:make -Dmake.folders=C,D,E -Dgoals=package -Dmaven.test.skip=True

Хотя я не уверен, что мой подход ТОЧНО делает то, что делает плагин реактора, но я нашел следующееподход работал достаточно хорошо для меня

mvn -pl=C,D,E -DskipTests=true package
2 голосов
/ 22 ноября 2010

Вы пытались включить опцию -Dmaven.test.skip = true (обратите внимание на случай) в свой аргумент командной строки, который вы используете?Как и в Java, Maven чувствителен к регистру.Но, как правило, вы можете удалить часть = true, и это также может привести к пропуску тестов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...