1. 新建application-dev.yml和application-prod.yml。application.yml中放公共配置,dev和prod则放私有需要选择的配置。
  2. yml文件中要进行声明:
    application-dev.yml
#测试
spring:
  profiles: dev
    application-prod.yml
#生产
spring:
  profiles: prod
    application-prod.yml中要进行动态指定:
spring:
  name: zframe-pucp
  jmx.default-domain: zframe-pucp
  main.banner-mode: "off"
  profiles:
    active: @profile.active@   //此处@profile.active@为根据选择动态指定配置文件。
  1. pom.xml中添加以下代码:
<!--动态配置文件-->
<profiles>
    <profile>
        <id>dev</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <profile.active>dev</profile.active>
        </properties>
    </profile>
    <profile>
        <id>prod</id>
        <properties>
            <profile.active>prod</profile.active>
        </properties>
    </profile>
</profiles>
  1. 打包时,未选择的配置文件应该去除:
    pom.xml文件添加配置:
<build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <!--先排除所有的配置文件--> <excludes> <exclude>application*.yml</exclude> </excludes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <!--引入所需环境的配置文件--> <filtering>true</filtering> <includes> <include>application.yml</include> <include>application-${profile.active}.yml</include> </includes>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <classifier>exec</classifier>
                </configuration>
            </plugin>
        </plugins>
    </build>
    ```