Как я могу проверить, что моя переменная окружения MAVEN_OPTS передается запускаемому процессу Java? - PullRequest
0 голосов
/ 02 апреля 2019

Я устанавливаю некоторые параметры -Dmyflag = myvalue в MAVEN_OPTS.Я знаю, что это работает на основе других тестов, которые я провел (при использовании mvn spring-boot: run ), но новое значение, которое я использую, похоже, не работает.

Первое, что нужно начать, - убедиться, что опция передается в программу, запускаемую maven.В моем случае я запускаю модульный тест, который dsdsneeds требует некоторых параметров, установленных в командной строке.

Есть ли команда maven, которая покажет мне -Doptions, которые передаются командам javaкоторые запускаются Maven?

ПРИМЕЧАНИЕ: это может быть проблема с плагином surefire, который не передает MAVEN_OPTS при запуске тестов.

Я пробовал

mvn -X clean install

и я вижу вывод, который подразумевает, что тест запускается, вывод что-то вроде:

Forking command line: /bin/sh -c cd /my/proj && /usr/bin/java -jar /.../my.jar

И я не вижу никаких опций, переданных, поэтому япредполагая, что MAVEN_OPTS не передаются на выполняемый модульный тест.

В поисках ответов я нашел следующие ссылки:

1 Ответ

0 голосов
/ 03 апреля 2019

С mvn --help:

-D, - определить Определить системное свойство

Итак, все, что вы передадите с помощью -D, вы сможете прочитать обратно с помощью System.getProperty("<arg>").

Кроме того, вы можете использовать mvn -X ..., чтобы увидеть, что передается:

-X, - debug Производить вывод отладочной информации о выполнении

Что касается вашего комментария:

Это может быть связано с тем, что плагин surefire не передает MAVEN_OPTS при запуске тестов.

Из моих собственных экспериментов, и я хотел бы, чтобы у меня была цитата для этого, когда тесты запускаются - либо с верным, либо отказоустойчивым - они запускаются в отдельном потоке. Этот новый поток не не получает никаких свойств от MAVEN_OPTS. Тем не менее, получит свойства, переданные в командной строке с -D ...

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