Как пропустить тесты при использовании реактора Maven?

StackOverflow https://stackoverflow.com/questions/4244372

  •  27-09-2019
  •  | 
  •  

Вопрос

Я работаю над проектом Maven Multi-Modules. Я хочу создать данный модуль и пропустить тесты устройства для скорости процесса сборки.

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

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

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

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

Это было полезно?

Решение

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

Из Плагин Reactor Plugin:

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

Вы можете пройти дополнительные аргументы порожденным Maven, обращаясь к ним в качестве целей с -dmake.gools, как это:

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

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

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

Другие советы

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

/
  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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top