Подтвердить что ты не робот

Spring: переопределение одного application.property из командной строки

У меня есть файл application.properties со значениями по умолчанию. Я хочу изменить один из них при работе с mvn spring-boot:run. Я нашел, как изменить весь файл, но я хочу изменить одно или два из этих свойств.

4b9b3361

Ответ 1

Вы можете передать индивидуальные свойства в качестве аргументов командной строки. Например, если вы хотите установить server.port, вы можете сделать следующее при запуске исполняемого банку:

java -jar your-app.jar --server.port=8081

В качестве альтернативы, если вы используете mvn spring-boot:run:

mvn spring-boot:run -Drun.arguments="--server.port=8081"

Вы также можете настроить аргументы для spring-boot:run в своем приложении pom.xml, чтобы их не нужно указывать в командной строке каждый раз:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <arguments>
            <argument>--server.port=8085</argument>
        </arguments>
    </configuration>
</plugin>

Ответ 2

Чтобы обновить мелочи, плагин Spring boot 1.X Maven использует пользовательское свойство --Drun.arguments Maven, а плагин Spring Boot 2.X Maven использует пользовательское свойство -Dspring-boot.run.arguments Maven.

Поэтому для Spring 2 вам нужно сделать:

mvn spring-boot:run -Dspring-boot.run.arguments="--server.port=8081"

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

mvn spring-boot:run -Dspring-boot.run.arguments="--server.port=8081,--foo=bar"

Что касается конфигурации плагина maven и способа передачи аргумента из толстой банки, то он не изменился.
Так что очень хороший ответ энди Уилкинсона все еще правильный.