2016-09-27 2 views
0

Я только что импортировал проект maven (чужая работа) в затмение, где установлен плагин m2e. Меня попросили создать/запустить конфигурацию maven на основе файла readme.txt.Как определить имя параметра для команд maven?

Я ввел следующую команду в поле Цели после создания новой конфигурации запуска Maven, как сказано в инструкции. Выполнение команды было успешным.

compile test -Dtest=HelloWorldTest -Dfoo=bar 

Мой вопрос, почему я должен предоставить -Dtest в качестве параметра, который указывает на класс Java (HelloWorldTest), который будет выполнен. Где это указано? Я не мог найти его ни из класса, ни из файла pom.xml.

+1

Скорее всего, параметр '' test' '(https://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#test) параметра плагина Surefire ... – Tunaki

+0

Я вижу. Я заметил, что при запуске команд mvn были сняты отпечатки верных плагинов с консоли. Мне нужно посмотреть, что это такое. Благодарю. – DaeYoung

ответ

1

Прежде всего, я заметил, что вы запустили две фазы сборки цикла т.е. компиляции и тестирования. На самом деле вам просто нужно запустить фазу «тест», которая после фазы «проверять» и «компилировать».

Для получения более подробной информации о Maven сборки цикла вы можете перейти к https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

В фазе «тест», Maven пытается запустить все тесты тех классов, которые имя оканчивается на «Test» по умолчанию. Когда указан аргумент командной строки -Dtest, maven просто запускает тестовый класс, указанный в вашем случае, это «HelloWorldTest». Кстати, принцип «соглашение по конфигурации» используется по умолчанию при использовании Maven.

+0

, если вы можете позволить мне увидеть ваш pom.xml, я могу узнать больше о вашем вопросе. – cluo

+0

Да, вы правы. Я мог бы просто запустить «тест». Также вы ответили на другой вопрос, который у меня на уме: «... классы, которые по умолчанию заканчиваются« Тест »». В самом деле, это «HelloWorldTest» не «HelloWorld», я исправлю его. Спасибо за ваше любезное предложение, но мне не разрешено публиковать файл pom публично. – DaeYoung

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