Найти classpath maven использует для запуска TestNG testcase
какие параметры maven я могу использовать, чтобы определить, с каким classpath maven работает тестовый случай testng?
3 ответов
вы не предоставили версию Maven, но, по крайней мере, в 3.x (и, возможно, также 2.x) вы можете запускать команды с параметром-X (debug). Таким образом, тестовый путь к классам распечатывается до запуска тестов.
mvn test -X
Я не мог отформатировать свой ответ в своем комментарии, поэтому отправив grepped версию здесь:
mvn test -X | grep "maven.dependency.classpath"
в общем, вы можете найти путь к классам, который использует maven, используя встроенный плагин зависимостей maven и build-classpath цель.
если вы хотите использовать classpath для компиляции и запуска теста, вам нужно выбрать test
объем зависимостей. Эта область используется по умолчанию, но если вы хотите быть явным, вы можете установить ее с помощью -DincludeScope=test
.
другие области применения включают в себя runtime
, compile
, provided
и system
.
в зависимости от того, как вы хотите, чтобы потреблять выход, вы можете играть с параметрами -Dmdep.outputFilterFile
и -Dmdep.outputFile
. The mdep.outputFilterFile
упрощает синтаксический анализ вывода из скрипта и outputFile
опция записывает в файл, вместо которого некоторые инструменты могут читать напрямую.
вот несколько примеров:
$ mvn dependency:build-classpath -DincludeScope=test -Dmdep.outputFilterFile=true|grep 'classpath='
classpath=xxx.jar:yyy.jar
$ mvn dependency:build-classpath -DincludeScope=test -Dmdep.outputFile=cp.txt
$ cat cp.txt
xxx.jar:yyy.jar