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

gitsilence ????? 努力成为一位自由、开源的职业者。 本文由博客端 https://localhost 主动推送

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
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    178 引用 • 318 回帖 • 567 关注
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    2936 引用 • 8125 回帖 • 659 关注
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    872 引用 • 1426 回帖 • 612 关注
  • 打包
    5 引用 • 8 回帖

广告 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...