首页 > 其他分享 >SpringBoot项目在不同环境下的配置以及打包方式

SpringBoot项目在不同环境下的配置以及打包方式

时间:2022-08-21 21:24:06浏览次数:93  
标签:SpringBoot 配置文件 配置 application test yml 打包 加载

一、概述

  配置三个配置文件,只需要打包的时候,根据不同环境打包不同的配置文件
    application.yml 是启动服务时,Spring会自动加载的配置文件
    application-dev.yml 代表的是开发环境时的配置文件
    application-test.yml 代表的是生产环境的配置文件

 

 

二、配置文件的加载设置

  在服务启动时,Spring会自动加载application.yml,所以我们只需在这个配置文件中设置,需要哪个就加载哪个就好了。
  在服务启动加载的时候,服务器就会加载application.yml文件,然后通过配置去调用application-dev.yml文件,加载开发环境配置。当active: test,那么服务在启动时,Spring就会调用application-test.yml文件,加载测试环境配置。

三、Maven不同环境的打包

  进行动态的调用不同的配置文件,前提条件是拥有多个配置文件
  首先来进行配置pom.xml

<profiles> <!--与build标签同级别,放在project标签中-->
    <!--这是开发环境-->
    <profile>
        <id>dev</id>
        <properties>
            <!-- 环境标识,需要与配置文件的名称相对应 -->
            <activatedEnv>dev</activatedEnv>
        </properties>
        <activation>
            <!-- 默认环境 -->
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <!--这是测试环境-->
    <profile>
        <id>prod</id>
        <properties>
            <activatedEnv>prod</activatedEnv>
        </properties>
    </profile>
</profiles>

  然后application.yml 配置动态的使用

spring:
  profiles:
    active: @activatedEnv@

  @activatedEnv@ ,使用的就是我们在pom.xml里设置的<activatedEnv> ,当需要Maven打包时,就会用这个值

  打包开发环境(删除原有的包,排除test文件夹的内容,使用开发环境配置打包):

mvn clean package -P dev -Dmaven.test.skip=true

  打包测试环境:

mvn clean package -P test -Dmaven.test.skip=true

  根据需要两者选其一吧,当然打包语句略有不同。

  PS:转===》https://blog.csdn.net/m0_51295655/article/details/121779530

标签:SpringBoot,配置文件,配置,application,test,yml,打包,加载
From: https://www.cnblogs.com/ZhaoHS/p/16594119.html

相关文章

  • idea+SpringBoot使用过程中的问题集合
    1.跨域访问外部接口?使用Nginx代理(详细参见:https://www.cnblogs.com/ZhaoHS/p/16594619.html);合并部署,统一从后端访问第三方接口(合并部署详见:https://www.cnblo......
  • 关于Maven的 install 和 打包
     关于安装 进入pom.xml文件目录下,使用命令mvninstall当然也可以使用类似idea这类本身已经集成好maven插件按钮的编辑器进行安装安装过程会输出安装jar包的目录信息,同......
  • Vite 项目添加 Sass 并配置全局样式
    (1)在Vite项目里,只需要安装sass:npmi-Dsass(2)Sass的全局变量,需要在vite.config.ts配置一项:css:{preprocessorOptions:{scss:{additionalData:"@......
  • Flask 学习-2.url访问地址(路由配置)
    前言通过url地址可以访问一个网页,Flask框架使用route()装饰器来把函数绑定到URL。路由使用route()装饰器来把函数绑定到URL。fromflaskimportFlaskapp=......
  • Maven中xml配置文件导出到target失败问题解决方案
    Maven中xml配置文件导出到target失败问题解决方案在pom.xml中加入下面代码<!--在build中配置resources,来防止我们资源导出失败的问题--><build><resources>......
  • springboot多线程环境下注入bean空指针问题解决
    多线程环境下注入bean会出现空指针了..我是怎么知道这个bean有有没有在启动的时候注入进来的呢?用于指示bean包含在SpringApplication中时应该运行的接口。多个CommandL......
  • IDEA打包普通java项目并用java命令运行
    IDEA下打包为jar包,普通java项目(非web项目)效果是将第三方jar包放到一个文件夹中(如lib),这样看起来清晰一些。如下图这种:  1.项目结构。   1.关键:modules  ......
  • 2.配置mysql字符集
    一定要注意换行符[client]default-character-set=utf8[mysql]default-character-set=utf8[mysqld]init_connect='SETcollation_connection=utf8_unicode_ci'i......
  • Nginx配置示例-高可用集群
    视频教程:https://www.bilibili.com/video/BV1zJ411w7SV?p=14&vd_source=6a2d25a2f3270cb2d485b16863363e87博客借鉴:https://blog.csdn.net/qq_36059561/article/details......
  • SpringBoot的基本概念(1)
     1.为什么使用springboot springboot容易上手,做了jar包的版本控制,不用考虑maven依赖,方便敏捷开发,内置tomcat减少开发配置,由于SPI提供对外的starter扩展。 2.spr......