Spring boot使用Maven Profile配合Spring Profile进行多环境配置和打包

2023-05-16

引言

参考文章:https://cloud.tencent.com/developer/article/1769239

最近在项目中有遇见maven的多环境配置,由于以前没有接触过,所以查阅资料后记录为笔记

问题解决

  1. Spring Profile要有多环境配置文件

    image-20230309223121102

  2. pom.xml文件中添加profiles

    这里展示了识别dev环境和prod环境,如果有更多环境可以自己增加

     <profiles>
            <profile>
                <id>dev</id>
                <properties>
                    <profile.active>dev</profile.active>
                </properties>
    <!--            表示默认启用dev环境-->
                <activation>
                    <activeByDefault>true</activeByDefault>
                </activation>
            </profile>
            <profile>
                <id>prod</id>
                <properties>
                    <profile.active>prod</profile.active>
                </properties>
            </profile>
    </profiles>
    
  3. 添加完成后我们刷新一下maven,右侧就出现了如下了

    image-20230309223645238

  4. pom.xml文件中添加打包配置

    在进行打包的时候,我们并不需要把dev或者test等配置文件打包进行,所有我们在打包的时候进行如下配置

    <build>
            <resources>
                <resource>
                    <directory>src/main/resources</directory>
                    <!--先排除所有的配置文件-->
                    <excludes>
                        <exclude>application*.yml</exclude>
                    </excludes>
                </resource>
                <resource>
                    <directory>src/main/resources</directory>
                    <!--引入所需环境的配置文件-->
                    <filtering>true</filtering>
                    <includes>
                        <include>application.yml</include>
                        <include>application-${profile.active}.yml</include>
                    </includes>
                </resource>
            </resources>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <classifier>exec</classifier>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    
  5. 修改application.yml

    spring:
      profiles:
        active: @profile.active@ #此处由maven的环境选择决定
    
  6. 配置完成后我们再mvn clean install一下

  7. 然后我们在打包或者运行的时候选择相应的环境就可以了

    可以看见是运行了我选中的环境

    image-20230309225119318

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring boot使用Maven Profile配合Spring Profile进行多环境配置和打包 的相关文章

随机推荐

  • springboot使用thymeleaf后找不到模板(五个细节)已解决

    问题 xff1a springboot使用thymeleaf模板后找不到html模板 第一种情况 xff1a 先说第一种情况 xff0c 也是我出现问题的原因 xff1a 那就是导入thymeleaf的命名空间后 xff0c 粗心大意的将t
  • 一篇实现springboot集成elasticsearch的增删改查

    准备工作 springboot版本 span class token generics span class token punctuation lt span parent span class token punctuation gt
  • centos7连接不上网络,保姆级演示,亲测,亲测

    centos连接网络无非就大 五步 写在前边 xff1a vmware16 centos7 1 打开vm xff1a 编辑 虚拟网络编辑器 更改设置 2 有三个网络名称 VMnet0 xff1a 选择仅主机模式 xff0c 勾选下边两个选项
  • 简单三步,实现idea远程debug

    远程debug xff0c 简单三步 这里默认你已经打好了jar包 第一步 xff0c 编辑idea配置 1 1 点击edit configurations 1 2 点击 43 号选择Remote JVM Debug 1 3 进行配置 xf
  • shell把变量的值作为变量使用

    有那么一种生产环境 我有一个变量 xff0c 变量有一个初始值比如count 61 1 我想将count计算或者处理后的值再次作为参数传递 举个例子 span class token assign left variable name sp
  • lamp配置

    lamp独立配置 简介 所谓lamp xff0c 其实就是由Linux 43 Apache 43 Mysql MariaDB 43 Php Perl Python的一组动态网站或者服务器的开源软件 xff0c 除Linux外其它各部件本身都
  • Archlinux系统屏幕花屏

    我的电脑 xff0c 联想Y7000 xff0c 2019款 xff0c Archlinux内核版本 xff0c 系统情况如下 花屏样例 xff0c 这只是其中一种花屏样式 xff0c 屏幕一直不受控制的在闪动 出现这种情况不难猜到是显卡驱
  • centos7 使用letsEncrypt certbot 生成免费的ssl证书 渐进学习

    1 我们将会使用letsencrypt证书颁发机构里的certbot客户端 certbot官网 xff0c 国内也可访问 https certbot eff org 2 准备工作 xff0c 这一步很重要 你首先需要有一个解析通过了的域名
  • CSS选择器

    c选择器表示要定义样式的对象 xff0c 可以是元素本身 xff0c 也可以是一类元素或者指定名称的元素 一 选择器的分类 1 元素选择器 xff1a 以标签名作为选择器的一种方式 xff0c 例如 xff1a p h1 h6 div ul
  • 多生产者多消费者解决方式

    在上一篇博客中记录了如何解决普通生产者消费者的问题 xff0c 这篇讲一下如何解决多生产者多消费者问题 多生产者多消费者问题案例 xff1a 一家四口围着一个盘子 xff0c 盘子中最多放两个水果 爸爸不断向盘子中投放苹果 xff0c 儿子
  • 关于Java NoSuchElementException: No value present以及java.lang.NullPointerException处理

    1 Java NoSuchElementException No value present while curSum lt 100 找出小数余额最大的组 xff0c 对其进行加1 CircleRequest max 61 list str
  • 手机号无法验证,如何注册推特

    Twitter无法添加 验证中国手机号码 xff1f 既然Twitter无法添加 验证中国手机号码 xff0c 怎么解冻呢 xff1f 以下是推特注册时 xff0c 验证 43 86手机号解决方法 xff1a 进入账号申诉页面 点此进入 T
  • vue安装vue-router出错

    项目场景 xff1a 在vue中安装vue router 问题描述 xff1a 提示 xff1a 在安装过程中报错 xff0c 缺少依赖 xff1a PS D span class token punctuation span WebDep
  • SpringBoot之SpringSecurity(安全)

    SpringSecurity xff08 安全 xff09 Spring Security是针对Spring项目的安全框架 xff0c 也是Spring Boot底层安全模块默认的技术选型 xff0c 他可以实现强大的Web安全控制 xff
  • 解决决SpringBoot图片上传需重启服务器才能显示的问题

    问题描述 xff1a 前端页面实现头像图片上传并实时更新显示的功能 xff0c 但是文件上传成功后不能实时显示 xff0c 必须重启服务器后才能显示出来 下图是我将图片文件上到到的目录 xff0c 及项目架构 问题发生的原因 这是服务器的自
  • html页面实现登录验证码功能(纯前端)

    html 43 css 43 javascript简易实现注册或登录时实现验证码功能 xff1a 原文链接 xff1a https blog csdn net weixin 41472431 article details 90732468
  • lvs2种模式和haproxy配置

    lvs配置方法 nat模式配置 ip类型ip地址VIP仅主机模式192 168 96 134DIP192 168 149 143host1IP192 168 149 140host2IP192 168 149 137 host1配置 spa
  • js中复选框checkbox如何判定为被选中

    在学习的过程中触及到html分离式开发的内容 xff0c 其中复选框checkbox判定选中对于ajax传数据来说十分重要 xff0c 故将该篇文章转发留存 xff0c 方便以后查阅 要想判定复选框选中状态可以使用 xff1a 34 tes
  • springboot使用ssh公钥连接mysql(含账号密码连接)

    引言 在项目开发过程中 xff0c 遇到了连接数据库时需要使用ssh公钥的情况 在本地使用navicat可以直接通过可视化界面去进行ssh的连接 xff0c 但是在java中无法直接去进行连接 后来经过查询资料 xff0c 发现必须要在ja
  • Spring boot使用Maven Profile配合Spring Profile进行多环境配置和打包

    引言 参考文章 xff1a https cloud tencent com developer article 1769239 最近在项目中有遇见maven的多环境配置 xff0c 由于以前没有接触过 xff0c 所以查阅资料后记录为笔记