将Spring Boot配置文件与命令行参数一起使用

时间:2019-10-31 10:52:32

标签: maven spring-boot spring-boot-maven-plugin maven-profiles

我对如何在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 个答案:

答案 0 :(得分:2)

  

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

这行不通,因为行家不了解--spring

答案 1 :(得分:1)

您不应混淆Maven配置文件和Spring配置文件-这是完全不同的东西。

mvnw spring-boot:run -Dspring.profiles.active=dev-它告诉Spring在运行时使用哪个配置文件。

Spring配置文件-是基于活动配置文件在运行时配置Spring应用程序的方式。 您可以详细了解herehere

mvnw -P dev-它告诉Maven使用构建Maven配置文件

Maven配置文件-是如何编译/构建/打包Java应用程序。它与Spring应用程序的编译/打包有关,而不与运行时执行有关,并且与Spring完全无关。 您可以详细了解herehere

这是您第一个问题的答案。

关于第二个问题, 当您需要根据配置文件设置以其他方式构建应用程序时,可以使用Maven配置文件。例如,在执行mvn -P fat-jar时,将带有所有依赖项的“胖子”打包。

当您要配置Spring应用程序使其在运行时以不同方式工作时,例如-使用developmentproduction数据库等时,将使用Spring配置文件。