【Java】在idea中配置Maven实现动态切换环境
在打包或者本地调试时,只需要选中自己想用的环境即可,但需要注意一个小坑,在第一次切换后,需要先点击一下上图左上角的加载图标才能加载到最新环境,这里需要细心观察一下,最好的习惯是切换后,点击maven刷新,再去启动或者打包。但可以通过maven+idea的配置,达到动态切换的效果,会方便很多。这里把active的内容替换成了一个变量@env@
概要
在日常开发发布中,经常会在本地环境与线上环境中切换,传统方式是每次切换的时候手动修改一下pom.xml文件,比较麻烦:
spring:
application:
name: promotion
profiles:
# 环境配置
active: dev #或者手动改 prod

通过修改主配置文件中的profiles.active,去加载不同环境的配置文件。
本文将介绍一种不需要修改配置文件的方法,达到动态切换的效果,会方便很多。
技术细节
首先在pom.xml中加入:
<profiles>
<profile>
<id>dev</id>
<properties>
<env>dev</env>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>prod</id>
<properties>
<env>prod</env>
</properties>
</profile>
</profiles>
这里把环境分成了dev和prod两套,其中关键变量是env,在application.yml中需要对应一下:
spring:
application:
# 应用名称
name: promotion
profiles:
# 环境配置
active: @env@
这里把active的内容替换成了一个变量@env@
接下来就是打包或者运行前的环境切换了:
在打包或者本地调试时,只需要选中自己想用的环境即可,但需要注意一个小坑,在第一次切换后,需要先点击一下上图左上角被红框框选的加载图标才能加载到最新环境,这里需要细心观察一下,最好的习惯是切换后,点击maven刷新,再去启动或者打包。
如果非要两个环境都勾选,那么生效的应该是最后的一套环境:
这里运行会发现,环境变量是prod
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)