集成maven和Spring boot的profile功能

Posted 小平1993

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集成maven和Spring boot的profile功能相关的知识,希望对你有一定的参考价值。

思路:maven支持profile功能,当使用maven profile打包时,可以打包指定目录和指定文件,且可以修改文件中的变量。spring boot也支持profile功能,只要在application.properties文件中指定spring.profiles.active=xxx 即可,其中xxx是一个变量,当maven打包时,修改这个变量即可。

1。配置maven 的profile

    <!-- 不同环境查找不同配置文件 -->
    <profiles>
        <profile>
            <id>dev</id>
            <properties>
                <profiles.active>dev</profiles.active>
                <maven.test.skip>true</maven.test.skip>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>sit</id>
            <properties>
                <profiles.active>sit</profiles.active>
                <maven.test.skip>true</maven.test.skip>
            </properties>
        </profile>
        <profile>
            <id>prd1</id>
            <properties>
                <profiles.active>prd1</profiles.active>
                <maven.test.skip>true</maven.test.skip>
                <scope.jar>provided</scope.jar>
            </properties>
        </profile>
        <profile>
            <id>prd2</id>
            <properties>
                <profiles.active>prd2</profiles.active>
                <maven.test.skip>true</maven.test.skip>
                <scope.jar>provided</scope.jar>
            </properties>
        </profile>
    </profiles>

其中profiles.active是我们定义的一个变量,可通过mvn命令指定,别人也能访问

在build中配置可修改可访问资源文件

        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <excludes>
                    <exclude>application-dev.properties</exclude>
                    <exclude>application-sit.properties</exclude>
                    <exclude>application-prd1.properties</exclude>
                    <exclude>application-prd2.properties</exclude>
                </excludes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>application-${profiles.active}.properties</include>
                    <include>application.properties</include>
                </includes>
            </resource>
        </resources>

其中  ${profiles.active}是上面profile中指定的变量

 

2.配置springboot的profile

  这是通过spring.profiles.active指定

  在application.properties中指定[email protected]@,即可这样就将maven与springboot的profile结合了

 

3.打包命令:mvn clean package -Dmaven.test.skip=true -P prod -e

以上是关于集成maven和Spring boot的profile功能的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Spring Boot 项目集成到已经存在的多模块 Maven 项目中?

Spring Boot Maven插件

无法理解 Spring Boot 如何使用 maven 管理集成测试。它是不是使用故障安全插件?

docker与Spring boot的集成:docker-maven-plugin使用

剑指架构师系列-持续集成之Maven+Nexus+Jenkins+git+Spring boot

Git+Spring-boot+Docker+ Maven +Registry私有仓库 +jenkins 持续集成测试