springboot如何区分测试环境、生产环境。分环境启动

一 通过Maven打包时,将不同环境文件打入jar包来区分环境,然后直接启动jar包即可

1 pom.xml文件project标签里面加入以下配置

环境关键字可以根据自己的习惯来改

	<profiles><!--开发--><profile><id>dev</id><properties><package.environment>dev</package.environment></properties><activation><activeByDefault>true</activeByDefault></activation></profile><!--测试--><profile><id>test</id><properties><package.environment>test</package.environment></properties></profile><!--伪生产--><profile><id>uat</id><properties><package.environment>uat</package.environment></properties></profile><!--生产--><profile><id>prod</id><properties><package.environment>prod</package.environment></properties></profile></profiles>

2 然后yml文件分别建立不同环境的yml文件,如截图

在这里插入图片描述

application.yml文件一般存放公共的配置,也就是不用区分环境的配置比如
application-dev.yml是开发环境的配置,其他同理是不同环境的配置,比如数据库不一样等
application-环境名字(就是pom的package.environment标签).yml

spring:jackson:date-format: yyyy-MM-dd HH:mm:sstime-zone: GMT+8
#  要使用的yml配置文件,一般使用变量(@pom文件的标签@)来引用pom.xml文件的标签profiles:active: @package.environment@application:name: @artifactId@#服务基础配置
server:port: 8080servlet:
#    项目上下文路径,可以定义多级context-path: /@artifactId@/hahaha/encoding:charset: UTF-8

在yml里面引用pom.xml文件的标签可以使用两个艾特符号来处理@artifactId@

pom.xml里面的基础配置信息
在pom.xml里面引用其他标签可以使用${标签名}

    <groupId>com.baidu.www</groupId><artifactId>项目英文名字,在一个groupId下是唯一的</artifactId><version>0.0.1-SNAPSHOT</version><name>${artifactId}</name><description>项目描述</description>

3 这个时候idea里面就有了不同的环境可以选择,选好后启动即可

在这里插入图片描述

打包的时候需要加入一个配置来区分maven package -P dev
打完的包所有配置都有,但确实区分了环境,我们可以在日志输出中加入

环境为@package.environment@

如果遇到这个错误
@package.environment@
在这里插入图片描述

可以右键项目—>选择maven—>选择Reload project选项—>再启动项目就好了
或者直接maven编译compile也行

如果还不行,pom文件里面的build标签里面加入下面代码,

		<resources><resource><directory>src/main/resources</directory><!--开启过滤,用指定的参数替换directory下的文件中的参数--><filtering>true</filtering></resource></resources>

在这里插入图片描述

4 整体思路

maven打包设置需要使用配置文件-P dev,就是pom文件的package.environment标签
application.yml文件里面的spring: profiles: active:属性引用了package.environment标签
项目里面的yml也分成了多个文件,就可以来来却别要使用那个环境了

啰嗦一句package.environment标签可以谁便起名字,叫abc都行,只要全文保持一致就行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/91030.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工服穿戴检测算法 工装穿戴识别算法

工服穿戴检测算法 工装穿戴识别算法利用yolo网络模型图像识别技术&#xff0c;工服穿戴检测算法 工装穿戴识别算法可以准确地识别现场人员是否穿戴了正确的工装&#xff0c;包括工作服、安全帽等。一旦检测到未穿戴的情况&#xff0c;将立即发出警报并提示相关人员进行整改。Yo…

【【萌新的STM32学习--24 USART的部分介绍】】

萌新的STM32学习–24 USART的部分介绍 STM32的USART的介绍 USART 英文解释是 通用同步异步收发器 UART 通用异步收发器 USART/UART 都可以与外部设备进行全双工异步通信 USART 我们常用的也是异步通信 USART 主要特征 1.全双工异步通信 2.单线半双工通信 3.单独的发送器和接…

优思学院|企业推行精益生产要具备哪些前提条件?

企业界早已充斥着各种方法和策略&#xff0c;试图模仿精益生产和六西格玛管理等成功之路&#xff0c;目标在于通过质量工具的运用来改善业务。然而&#xff0c;许多公司在推行这些方法的过程中都犯了一个大错&#xff1a;他们忽视了背后的企业文化和制度&#xff0c;以及精益生…

打破时空限制:海外网红营销中的直播与虚拟互动

随着全球互联网的普及和技术的迅速发展&#xff0c;传统的商业模式也在不断演变。其中&#xff0c;海外网红直播带货成为了一种引人注目的全新营销方式。近年来&#xff0c;虚拟技术的蓬勃发展为海外网红直播带货提供了新的可能性&#xff0c;不仅丰富了消费者的购物体验&#…

计算机专业学生实习的一条明路

当计算机专业的学生毕业后学习嵌入式开发优势也会非常的明显。计算机专业提供了坚实的编程基础、数据结构和算法知识&#xff0c;这些都是嵌入式开发所需要的基本技能。视频后方有免费的嵌入式学习资料&#xff0c;按需自取。此外&#xff0c;对操作系统和系统编程的了解也为嵌…

如何在Windows本地快速搭建SFTP文件服务器,并通过端口映射实现公网远程访问

文章目录 1. 搭建SFTP服务器1.1 下载 freesshd服务器软件1.3 启动SFTP服务1.4 添加用户1.5 保存所有配置 2 安装SFTP客户端FileZilla测试2.1 配置一个本地SFTP站点2.2 内网连接测试成功 3 使用cpolar内网穿透3.1 创建SFTP隧道3.2 查看在线隧道列表 4. 使用SFTP客户端&#xff0…

【SVN】 代码版本管理工具使用步骤以及全局忽略不需要提交的文件夹

2023年&#xff0c;第36周。给自己一个目标&#xff0c;然后坚持总会有收货&#xff0c;不信你试试&#xff01; SVN是Subversion的简称&#xff0c;是一个开源的版本控制系统&#xff0c;用于管理软件开发过程中的代码版本和文件变更。 它提供了跟踪文件修改、协同开发、版本回…

汽车服务门店小程序模板制作指南

在数字化时代&#xff0c;一个小程序的力量不可忽视。它不仅是展示品牌形象和提供用户服务的重要工具&#xff0c;更是扩大客户群体和提高营收的关键手段。对于汽车服务门店来说&#xff0c;拥有一个精美且功能齐全的小程序&#xff0c;更将成为你在竞争激烈的市场中的重要武器…

AUTOSAR开发工具DaVinci Configurator里的Modules

DaVinci Configurator 里面有个Module这个概念。 如你所想&#xff0c;基本上跟AUTOSAR架构里面的Module相对应 从软件的Project菜单中的Basic Editor项可以打开 打开这个菜单后&#xff0c;会看到很多Modules项以及其相关配置项 这个Basic Editor显示出整个ECU配置中的所有…

微信开发之朋友圈自动评论的技术实现

简要描述&#xff1a; 朋友圈评论 请求URL&#xff1a; http://域名地址/snsComment 请求方式&#xff1a; POST 请求头Headers&#xff1a; Content-Type&#xff1a;application/jsonAuthorization&#xff1a;login接口返回 参数&#xff1a; 参数名必选类型说明wI…

goroutine的一点东西

前面的两篇&#xff0c;从相对比较简单的锁的内容入手(也是干货满满)&#xff0c;开始了go的系列。这篇开始&#xff0c;进入更核心的内容。我们知道&#xff0c;go应该是第一门在语言层面支持协程的编程语言(可能是我孤陋寡闻)&#xff0c;goroutine也完全算的上是go的门面。g…