Передача переменных env в команде maven

У меня есть один файл свойств, показанный ниже

testdb.username=AA
testdb.password=AA
testdb.port=1521
testdb.host=localhost

теперь я хочу передать все эти 4 пары значений ключа как переменную env в команде maven.

Один из способов - поместить каждую пару значений ключа в команду maven, показанную ниже.

mvn clean package -Dtestdb.username=A -Dtestdb.password=AA ....

Я хочу знать, есть ли в Maven способ передать весь файл свойств в файл свойств чтения Maven и Maven и динамически установить все пары значений ключа как переменную env в команде maven.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
5
0
8 372
1

Ответы 1

На переменные среды в maven ссылаются следующим образом:

<properties>
    <testdb.username>${env.ENV_USERNAME}</testdb.username>
    <testdb.password>${env.ENV_PASSWORD}</testdb.password>
    <testdb.port>${env.ENV_PORT}</testdb.port>
    <testdb.host>${env.ENV_HOST}</testdb.host>
</properties>

Однако я думаю, что вы хотите сделать что-то вроде этого:

<properties>
    <!-- Default values -->
    <testdb.username>foo</testdb.username>
    <testdb.password>AA</testdb.password>
    <testdb.port>1521</testdb.port>
    <testdb.host>localhost</testdb.host>
</properties>

...

${testdb.username}

mvn clean package -Dtestdb.username=$USERNAME -Dtestdb.password=$PASSWORD -Dtestdb.port=$PORT -dtestdb.host=$HOST

Я надеюсь вы найдете эту информацию полезной!

Я думаю, вам нужно передать переменную env перед целями, а не наоборот

Ghilteras 16.03.2019 22:48

@Ghilteras неважно до или после гола

Thomas Vaughan 12.08.2020 16:43

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