Использование профилей Spring Boot с аргументами командной строки - PullRequest
0 голосов
/ 31 октября 2019

Я запутался в том, как использовать профили в приложении Spring Boot.

Предполагая, что я определил профили в файле pom.xml, я нахожу различные способы.

mvnw -Pdev

mvnw spring-boot:run -Dspring-boot.run.profiles=dev

mvnw spring-boot:run -Dspring.profiles.active=dev

mvnw spring-boot:run --spring.profiles.active=dev

1 / Есть ли какая-либо разница между ними?

2 / Какой наилучший подход использовать?

Ответы [ 2 ]

2 голосов
/ 31 октября 2019

mvnw -Pdev

Это будет учитывать maven профиль

mvnw spring-boot: run -Dspring-boot.run.profiles = dev

Это будет учитывать maven профиль

mvnw spring-boot: run -Dspring.profiles.active = dev

Это будет учитывать профиль весенней загрузки

mvnw spring-boot: run -spring.profiles.active = dev

Это не должно работать, поскольку maven не понимает --spring

1 голос
/ 31 октября 2019

Не следует путать профили Maven и профили Spring - это совершенно разные вещи.

mvnw spring-boot:run -Dspring.profiles.active=dev - это говорит Spring, какой профиль использовать во время выполнения.

Spring Profile - это то, как приложение Spring будет настроено во время выполнения на основе активного профиля. Вы можете прочитать больше об этом здесь и здесь .

mvnw -P dev - это говорит Maven использовать профиль сборки Maven

Maven Profile - это то, как ваше Java-приложение будет компилироваться / собираться / упаковываться. Он связан с компиляцией / упаковкой, а не с выполнением вашего приложения Spring во время выполнения, и совсем не связан с Spring. Вы можете узнать больше об этом здесь и здесь .

Это ответ на ваш первый вопрос.

Что касается вашего второго вопроса, профиль Mavenиспользуется, когда вам нужно построить приложение по-разному в зависимости от настроек профиля. Например, упакуйте «толстую флягу» со всеми зависимостями при выполнении mvn -P fat-jar.

. Профиль Spring используется, когда вы хотите настроить приложение Spring для другой работы во время выполнения, например - для использования development и production база данных и т. д.

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