目录
Spring Boot 多环境打包、运行技巧
/        

Spring Boot 多环境打包、运行技巧

Spring Boot 多环境打包、运行技巧

创建一个Spring Boot 项目

配置文件有:application.propertiesapplication-test.propertiesapplication-dev.propertiesapplication-prod.properties

配置 application.properties

server.port=8003
spring.profiles.active=@profileActive@

配置 pom.xml

在 dependencies 的下方配置 profiles 标签

<dependencies>
	<dependency>
    ...
    </dependency>
</dependencies>

<profiles>
    <!--测试环境-->
    <profile>
        <id>test</id>
        <activation>
            <activeByDefault>false</activeByDefault>
        </activation>
        <properties>
            <profileActive>test</profileActive>
        </properties>
    </profile>
    <!--开发环境-->
    <profile>
        <id>dev</id>
        <activation>
            <!--默认 使用 开发环境-->
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <profileActive>dev</profileActive>
        </properties>
    </profile>
    <!--生产环境-->
    <profile>
        <id>prod</id>
        <activation>
            <activeByDefault>false</activeByDefault>
        </activation>
        <properties>
            <profileActive>prod</profileActive>
        </properties>
    </profile>

</profiles>

配置文件中的 profileActive 是和 标签 profiles > profile > properties 中的 profileActive 是一致的

只要相同,才能获取到值。所以 profileActive 换成其他 也是可以的。

maven打包命令:

mvn clean package -P prod -DskipTests

这里 prod 就会填入 配置文件

打包后再打开 application.properties

server.port=8003
spring.profiles.active=prod

就是这种效果

我们是用jar包运行的时候 还可以运行指定的环境

命令如下:

java -jar xxx.jar --spring.profiles.active=prod

或者

java -jar -Dspring.profiles.active=test xxx.jar

问题

可能会导致无法启动,是因为pom.xml无法识别 ${xxx},需要开启

filtering=true 开启过滤,用指定参数替换 ${xxx}

<build>
	<resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <!--包含哪些文件-->
                <includes>
                    <include>application.properties</include>
                    <include>application-${profileActive}.properties</include>
                </includes>
                <!--不包含哪些文件-->
            </resource>
        </resources>
</build>

标题:Spring Boot 多环境打包、运行技巧
作者:gitsilence
地址:https://blog.lacknb.cn/articles/2021/06/04/1622794290869.html