栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

图文细描:Maven Profiles 与 Spring Profiles 多环境配置

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

图文细描:Maven Profiles 与 Spring Profiles 多环境配置

目录

前言Spring Profiles使用Maven Profiels使用Spring Profiles和 Maven Profiles结合配置来打包注意

前言

在项目开发过程中,我们离不开多环境的配置。有的同学还是分不清Maven Profiles 和 Spring Profiles的区别。
它们两者即可以独立配置, 也可以结合使用。
Maven Profiles主要用来管理maven项目不同环境的打包配置。
Spring Profiles主要用来管理spring项目不同环境的启动配置。

Spring Profiles使用

配置多套环境

我们在resourcs目录下配置了多套环境。
然后通过spring.profiles.active=dev/test/prod来指定运行的是哪个配置

spring:
  profiles:
    active: dev #表示运行application-dev.yml

这样配置比较麻烦的是,每次启动或是部署要切换环境的话,都需要手动操作。


Maven Profiels使用

在pom.xml中,配置如下:


	
		dev
		
			dev
			true
		
		
			true
		
	
	
		test
		
			test
			true
		
	
	
		prod
		
			prod
			true
		
	


这样定义了,三套环境dev、test、prod, 我们可以在侧栏maven下清晰的看到。

接下来还需要配置一下resources来过滤一些文件


	
		src/main/resources
		
			application*.yml
		
	
	
		src/main/resources
		true
		
			
			application-${profiles.active}.yml
			i18n/**
			application.yml
			logback.groovy
		
	

其中${profiles.active}与上面的profiles中的配置相对应。


接下来有两种方式来执行打包操作:

    可以执行maven命令进行打包:mvn clean package -Pprod直接使用maven提供的工具:
    ①勾选prod
    ②选中clean
    ③选中package
    ④执行运行三角按钮

打包完成之后,解压jar包,验证环境是否正确。

Spring Profiles和 Maven Profiles结合配置来打包

根据前面Spring Profiles和Maven Profiles的配置,修改如下配置:

spring:
  profiles:
    active: @profiles.active@

其中 @profiles.active@中的变量要和maven profiles中的属性保持一致。

Tips:
当我们在pom.xml中配置了profiles环境之后, 先写两个@@, 再从中间开始写profiles.active时,会有提示。
写完之后的@profiles.active@, 是可以按住ctrl点击链接到pom.xml中的相应环境配置上的。

总结步骤:

    配置多套spring的环境(application.yml, application-dev.yml, application-prod.yml)在 pom.xml 中定义多个 profile 及其它属性在 pom.xml 中定义 resource filtering,可以控制打包之后 jar 中包含的资源文件, 以及@xxx@ 的变量替换在 application.yml 中指定 spring.profiles.active,值为 maven profile 中定义的属性@xxx@。构建时使用 mvm clean package -P 来指定 profile。
注意

在 Intellij IDEA 中启动时, 会报错yml中的@profiles.active@,不会被配置的环境所替换。
需要先执行: mvn resources:resources
然后再次启动,即可。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/769594.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号