java多环境控制 spring.profiles.active/spring.config.location

4 篇文章 0 订阅

我使用过三种方式进行多环境控制

一、通过maven打包进行控制

pom配置

<!-- 环境配置 -->
<profiles> 
  <profile> 
    <id>dev</id>  
    <properties> 
      <profiles.active>dev</profiles.active> 
    </properties>  
    <activation> 
      <activeByDefault>true</activeByDefault> 
    </activation>  
    <build> 
      <plugins> 
        <plugin> 
          <artifactId>maven-antrun-plugin</artifactId>  
          <version>1.8</version>  
          <executions> 
            <execution> 
              <phase>compile</phase>  
              <goals> 
                <goal>run</goal> 
              </goals> 
            </execution> 
          </executions> 
        </plugin> 
      </plugins> 
    </build> 
  </profile>  
  <profile> 
    <id>test</id>  
    <properties> 
      <profiles.active>test</profiles.active> 
    </properties>  
    <build> 
      <plugins> 
        <plugin> 
          <artifactId>maven-antrun-plugin</artifactId>  
          <version>1.8</version>  
          <executions> 
            <execution> 
              <phase>compile</phase>  
              <goals> 
                <goal>run</goal> 
              </goals> 
            </execution> 
          </executions> 
        </plugin> 
      </plugins> 
    </build> 
  </profile> 
</profiles>

<!-- 打包配置 -->
<build> 
  <plugins> 
    <plugin> 
      <groupId>org.springframework.boot</groupId>  
      <artifactId>spring-boot-maven-plugin</artifactId> 
    </plugin>  
    <plugin> 
      <groupId>org.apache.maven.plugins</groupId>  
      <artifactId>maven-surefire-plugin</artifactId>  
      <configuration> 
        <skip>true</skip> 
      </configuration> 
    </plugin> 
  </plugins>  
  <resources> 
    <resource> 
      <directory>src/main/resources</directory>  
      <filtering>false</filtering>  
      <includes> 
        <include>**/*.*</include> 
      </includes> 
    </resource>  
    <resource> 
      <directory>${project.basedir}/src/main/resources/${profiles.active}</directory>  
      <filtering>true</filtering> 
    </resource> 
  </resources> 
</build>
resource下配置文件
resource|
    dev|
        application.yml
    test|
        application.yml

maven打包命令:

mvn clean package -Ptest -U

target中resource下配置文件

resource|
    dev|
        application.yml
    test|
        application.yml
    application.yml -- 将指定环境下的配置文件copy到resource目录下,mvn clean package -Ptest是将test文件下的application.yml copy到resource下的。

java -jar xxx.jar(扫描resource下的application.yml)

 

二、使用spring参数spring.profiles.active控制

resource下配置文件

resource|
    application-dev.yml
    application-test.yml

java -jar xxx.jar --spring.profiles.active=test(寻找resource下application-test.yml)

三、使用spring参数spring.config.location控制()

resource下可有配置文件,也可无配置文件

java -jar xxx.jar --spring.config.location=/opt/config/application.yml(指定配置文件,寻找/opt/config/application.yml作为配置文件)

java -jar xxx.jar --spring.config.location=classpath:/,/opt/config/application.yml(spring.config.location=classpath:/,/opt/config/application.yml,配置文件互补)

补充:

spring.config.additional-location指定配置文件夹路径

java -jar xxx.jar --spring.config.additional-location=/opt/config/(指定配置文件夹,扫描/opt/config/下的文件作为配置文件)

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值