springboot结合maven配置不同环境的profile方式

目录
  • springboot结合maven配置不同环境的profile
    • 1、在spring-boot中新建配置文件
    • 2、在application.yml中增加属性
    • 3、在pom.xml中添加不同的profile
    • 4、测试
  • springboot maven多环境配置
    • 环境
    • 1、在resources下创建/dev文件夹
    • 2、在pom.xml文件加入相关配置如下

springboot结合maven配置不同环境的profile

1、在spring-boot中新建配置文件

spring-boot不同环境配置文件格式为application-{profile}.yml

说明:

如果application.yml中的配置和application-{profile}.yml相冲突时,application.yml中的配置会被覆盖掉。

2、在application.yml中增加属性

spring:
    profiles:
        active: @spring.profiles.active@

说明:如果想要获取mvn中设置的属性变量,需要使用@mvn变量名@(该方式为mvn的默认filter方式,

如果想要更改方式,可以配置自定义filter),不能使用${mvn变量名},否则无法获取到

如果你

3、在pom.xml中添加不同的profile

<profiles>
   <profile>
      <id>dev</id>
      <activation>
         <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
         <!-- default Spring profiles -->
         <spring.profiles.active>dev</spring.profiles.active>
      </properties>
   </profile>
       <profile>
           <id>prod</id>
           <properties>
               <!-- default Spring profiles -->
               <spring.profiles.active>prod</spring.profiles.active>
           </properties>
       </profile>
</profiles>

说明:该配置添加了两个profile,一个dev,一个prod分别对应application-dev.yml和application-prod.yml

4、测试

  • Maven启动,指定mvn中的Profile通过-P,如mvn spring-boot:run -Pdev
  • Maven打包,指定mvn中的Profile通过-P,如mvn package -Pdev -DskipTests

另:

如果想要自定过滤器,可以使用mvn的maven-resources-plugin插件,具体说明参考这里

springboot maven多环境配置

环境

  • 本地环境(dev)
  • 测试环境(test)
  • 预生产环境(pre-pro)
  • 生产环境(pro)

不同环境对应不同的文件夹

SpringBoot有profiles功能的支持,我们将此功能加入进来

1、在resources下创建/dev文件夹

在dev文件夹下创建application.properties和application-dev.properties

在resources下创建dev、teest、pro等文件夹是为了maven打包多环境用的.

在本地开发运行时需要在resources下创建一个和打包环境文件夹里相同的文件,因为profiles原因所以需要,创建dev、test、pro是为maven打包用的,而在resources下创建相关文件是为了多功能环境开发或者调试用的

#application.properties文件内容
spring.profiles.active=dev
------------------------分割线----------------------------
#application-dev.properties文件内容
#数据库相关配置
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
具体配置各求所需,这里就不一一列举了

测试和生产大同小异,同上只需修改配置值即可,dev对应本地配置、test对应测试配置、pro对应生产配置

application-xx.properties 为固定写法,比如application-test.properties就是测试环境配置文件的命名

2、在pom.xml文件加入相关配置如下

此配置加入到 < build > 标签里

<resources>
	<resource>
		<directory>src/main/resources</directory>
		<!-- 资源根目录排除各环境的配置,使用单独的资源目录来指定 -->
		<excludes>
			<exclude>pro/*</exclude>
			<exclude>dev/*</exclude>
			<exclude>test/*</exclude>
			<!--
			   因为配置profiles原因,我们在打包不希望将如下文件打包进去,所以打包时注释掉即可
			   如果是本地开发运行需要去掉注释
            -->
			<!--<exclude>application-pro.properties</exclude>-->
			<!--<exclude>application-test.properties</exclude>-->
			<!--<exclude>application-dev.properties</exclude>-->
		</excludes>
		<filtering>true</filtering>
	</resource>
	<resource>
		<directory>src/main/resources/${profiles.active}</directory>
	</resource>
</resources>
#profiles配置和<build>同级
<profiles>
		<profile>
			<!-- 本地开发环境 -->
			<id>dev</id>
			<properties>
				<profiles.active>dev</profiles.active>
			</properties>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
		</profile>
		<profile>
			<!-- 测试环境 -->
			<id>test</id>
			<properties>
				<profiles.active>test</profiles.active>
			</properties>
		</profile>
		<profile>
			<!-- 生产环境 -->
			<id>pro</id>
			<properties>
				<profiles.active>pro</profiles.active>
			</properties>
		</profile>
	</profiles>

然后选中对应的环境执行maven相关操作即可,博主用的IDEA

如果您用的是eclipse的话,执行maven命令即可,如:clean package -Ppro就是打包pro环境

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 详解springboot + profile(不同环境读取不同配置)

    具体做法: 不同环境的配置设置一个配置文件,例如:dev环境下的配置配置在application-dev.properties中:prod环境下的配置配置在application-prod.properties中. 在application.properties中指定使用哪一个文件 1.application-dev.properties(dev环境下的配置) profile = dev_envrimont 2.application-prod.properties(prod环境下的配置) pr

  • Spring Boot使用profile如何配置不同环境的配置文件

    在springboot的开发中,有时候我们会有不同的配置,例如日志打印,数据库连接等,开发,测试,生产每个环境可能配置都不一致,还好,springboot支持通过不同的profile来配置不同环境的配置,下面就大致介绍一下yml配置文件跟properties配置文件怎么使用profile配置不同环境的配置文件... 先介绍一下开发环境: jdk版本是1.8 springboot的版本是1.4.1 开发工具为 intellij idea 我们先来介绍,使用一个yml文件,通过不同的profile来

  • Maven profile实现不同环境的配置管理实践

    前言 目前,企业项目的开发过程中,往往会使用配置文件来做一些配置项来实现项目部署的灵活性,避免硬编码的方式在环境变化时需要对代码进行重新编译.但是往往在项目周期中存在着各种环境:如开发环境.测试环境以及生产环境等,而且在不同的运行环境中可能牵扯到大量的配置项变化.如果在不同的部署环境中切换,对配置文件的管理往往容易让程序员感觉非常的混乱. 为了避免这种换乱,研发过程中也有比较多的手段进行.比如,有公司就采用VPN的虚拟网络环境,让测试环境.生产环境的网络一致,让程序员在不同环境中对版本进行发布时

  • SpringBoot 如何根据不同profile选择不同配置

    SpringBoot 根据不同profile选择不同配置 附上pom的 profiles配置 <build> <finalName>${project.artifactId}</finalName> <resources> <resource> <directory>src/main/resources/</directory> <filtering>true</filtering> </re

  • springboot结合maven配置不同环境的profile方式

    目录 springboot结合maven配置不同环境的profile 1.在spring-boot中新建配置文件 2.在application.yml中增加属性 3.在pom.xml中添加不同的profile 4.测试 springboot maven多环境配置 环境 1.在resources下创建/dev文件夹 2.在pom.xml文件加入相关配置如下 springboot结合maven配置不同环境的profile 1.在spring-boot中新建配置文件 spring-boot不同环境配置

  • spring boot的maven配置依赖详解

    本文介绍了spring boot的maven配置依赖详解,分享给大家,具体如下: 我们通过引用spring-boot-starter-parent,添加spring-boot-starter-web 可以实现web项目的功能,当然不使用spring-boot-start-web,通过自己添加的依赖包也可以实现,但是需要一个个添加,费时费力,而且可能产生版本依赖冲突.我们来看下springboot的依赖配置: 利用pom的继承,一处声明,处处使用.在最顶级的spring-boot-dependen

  • Admin - SpringBoot + Maven 多启动环境配置实例详解

    一:父级pom.xml文件 resources目录下新建指定文件夹,存放Spring配置文件 <profiles> <profile> <id>dev</id> <properties> <profiles.active>dev</profiles.active> </properties> <activation> <activeByDefault>true</activeByD

  • Springboot与Maven多环境配置的解决方案

    Profile用法 我们在application.yml中为jdbc.username赋予一个值,这个值为一个变量 jdbc: username: ${jdbc.username} Maven中的profiles可以设置多个环境,当我们选择a环境后,<jdbc.username>内的值将替换上述配置文件中的变量 </profiles> <profile> <id>a</id> <properties> <jdbc.usernam

  • Maven学习----Maven安装与环境变量配置教程

    目录 一.Maven简介 1. 什么是Maven 2. Maven的作用 3. 坐标的概念 小结 二.Maven安装配置[操作] 1. Maven的仓库类型 2. 下载与目录结构 3. Maven安装配置 3.1 安装Maven 3.2 配置Maven仓库 小结 三.Maven项目的目录结构 小结 四.Maven构建项目 1. 项目构建的生命周期 小结 五.Maven管理依赖和插件 Maven的依赖管理 1. 在idea配置Maven(操作) 2. 在idea创建Maven项目 2.1 创建Ma

  • Java之Spring认证使用Profile配置运行环境讲解

    Spring提供了@Profile注解来解决程序在不同运行环境时候的配置差别. 项目开发时候大多包含:开发.测试.上线运行几个过程,在每个过程中软件的工作环境一般多少有些差别,比如:在开发阶段利用本地数据库.测试阶段采用测试数据库.在上线运行阶段使用生产数据库.这些差别如果采用了手工维护就会存在各种问题:效率低下.容易发生人为因素意外错误. 利用Spring提供的@Profile注解就可以定义程序不同的运行场景配置,配置以后在启动程序时候给定不同的启动参数就可以灵活的切换运行场景,不再需要人工干

  • SpringBoot数据校验及多环境配置的问题详解

    目录 1. 数据校验 2. 多环境配置 3. 配置文件加载位置 4. 总结 接上节,本节补充一下数据校验及多环境配置的内容,仍是 SpringBoot-02-Config 项目. 1. 数据校验 使用数据校验,可以在输入不合法数据时抛出异常,首先要添加 validation 的依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-

  • maven安装与环境配置图文教程

    本文为大家分享了maven安装与环境配置教程的具体方法,供大家参考,具体内容如下 软件环境: Window 7 Java 8 Maven 3.5.0 MyEclipse Professional 2014 1.下载maven 官网下载地址 2.解压缩到固定目录 本例中解压缩在d盘根目录,安装目录为:D:\apache-maven-3.5.0 3.修改本地仓库路径 在conf/settings.xml文件里,追加一行,写上仓库路径. 默认路径是在C:\Users\Administrator\.m2

  • 浅谈Maven安装及环境配置出错的解决办法

    可能导致安装不成功的原因: 添加 系统变量的时候,M2_HOME路径没有在尾部加上\bin,而是把\bin在PATH路径的尾部加上了,比如下图某教程教的,这样做可能导致环境变量配置不成功. 安装和环境配置步骤 一.准备工作 1.jdk7.0以上版本 2.win10操作系统 3.maven安装包 二.解压安装包到指定文件夹 我的安装包解压到了C:\WorkSoftware\apache-maven-3.5.2 三.配置环境变量 C:\WorkSoftware\apache-maven-3.5.2

随机推荐