春季启动:使用mvn激活多个配置文件

时间:2019-12-30 08:39:17

标签: spring spring-boot spring-profiles

我正在使用以下命令行来启动我的spring-boot服务:

mvn clean compile -DskipTests \
    spring-boot:run \
    -Dspring-boot.run.arguments=--spring.profiles.active="bo,pre"

我正在使用两个配置文件:--spring.profiles.active="bo,pre"。从上面的命令可以看到,我正在激活bopre配置文件。

但是,当我启动服务时,我仅看到bo个人资料处于活动状态:

 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.0.4.RELEASE)

2019-12-30 09:33:08.013  INFO...  : Starting ApiApplication on psgd with PID 30578 (/home/jeusdi/projects/repositori-digital/rep-digital-api/target/classes started by jeusdi in /home/jeusdi/projects/repositori-digital/rep-digital-api)
2019-12-30 09:33:08.022 DEBUG ...  : Running with Spring Boot v2.0.4.RELEASE, Spring v5.0.8.RELEASE
2019-12-30 09:33:08.027  INFO ...  : The following profiles are active: bo

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

请在命令行中使用以下属性:-Dspring-boot.run.profiles="bo,pre"

mvn clean compile -DskipTests spring-boot:run -Dspring-boot.run.profiles="bo,pre"

答案 1 :(得分:1)

根据documentation,您必须如下添加spring.profiles.include

spring.profiles.include:
  - pre

application.properties文件中的以下属性中使用这两个配置文件均应激活

spring.profiles.active=pre
spring.profiles.include=bo

或者,如果您确实希望将活动配置文件指定为命令行参数,则可以在以下命令中使用多个配置文件。

mvn spring-boot:run -Dspring-boot.run.arguments=--spring.profiles.active=bo,--spring.profiles.include=pre 

如果要添加更多活动配置文件,请使用以下命令。

mvn spring-boot:run -Dspring-boot.run.arguments=--spring.profiles.active=bo,--spring.profiles.include=pre,--spring.profiles.include=another

答案 2 :(得分:0)

mvn clean编译-DskipTests spring-boot:run -Dspring-boot.run.profiles = foo,boo