如果不做资源过虑,在打包时会带上全部的配置文件,但是为了考虑安全性问题,我们只保留对应环境下的配置文件。

实现根据不同的环境打包不同的配置文件,配置如下:

<build>
    <!-- 资源配置 -->
    <resources>
        <!--排除配置文件-->
        <resource>
            <directory>src/main/resources</directory>
            <!-- 先排除所有配置文件 -->
            <excludes>
                <!--使用通配符,当然可以定义客个exclude标签进行排除-->
                <exclude>application*.yml</exclude>
            </excludes>
        </resource>
        <!-- 根据激活条件引入打包所的配置和文件 -->
        <resource>
            <directory>src/main/resources</directory>
            <!-- 开启过滤替换功能-->
            <filtering>true</filtering>
            <!-- 项目打包完成的包中只包含当前环境文件 -->
            <includes>
                <include>application.yml</include>
                 <!--根据maven选择环境导入配置文件-->
                <include>application-${spring.profiles.active}.yml</include>
            </includes>
        </resource>
    </resources>


    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>${spring-boot-dependencies.version}</version>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>