之前的切换环境的方式 , 就是在application.properties中配置 spring.profiles.active=dev , 然后通过修改dev为test或prod来切换项目环境 , 这样做的话每次切换环境都要重新改一下配置 , 而且如果不小心把本地改动提交到中央仓库了 , 可能会影响到其他同事拉取代码 .
maven中提供了一个profile配置项,可以在打包时动态的指定环境配置.结合idea使用 , 我们可以实现不动任何代码来随意的切换我们的工作环境 .
1 . 更改spring.profiles.active
spring.profiles.active=@env@
把原来固定的配置写成一个变量@env@ , 然后通过在pom.xml中配置不同的env节点来配置多个环境
2 . 配置pom.xml
<project>
... 其他代码略 ...
<profiles>
<!-- 开发环境 -->
<profile>
<id>dev</id>
<properties>
<env>dev</env><!-- 之前写的@env@就是通过这里的配置切换环境 -->
</properties>
<activation>
<activeByDefault>true</activeByDefault><!-- 指定缺省环境 -->
</activation>
</profile>
<!-- 测试环境 -->
<profile>
<id>test</id>
<properties>
<env>test</env>
</properties>
</profile>
<!-- 生产环境 -->
<profile>
<id>prod</id>
<properties>
<env>prod</env>
</properties>
</profile>
</profiles>
</project>
3 . 动态切换环境
到这一步 , 我们就默认以dev为工作环境了 , 如果需要切换 , 只需要点开maven面板 , 在顶层的Profiles节点下勾选对应的环境即可
(如找不到该面板 , 可单击 View -> Tool Windows -> Maven Projects 展示出来)
勾选之后会看到有个短暂的加载过程 , 然后重启项目 . 就能看到已经成功切换环境了

启动项目:

IDEA与Maven profile结合:动态切换项目环境
本文介绍了如何利用IDEA和Maven的profile配置,实现不修改代码就能动态切换Spring项目环境。通过设置spring.profiles.active变量,并在pom.xml中定义不同环境的配置,开发者可以在IDEA的Maven面板中轻松选择环境,避免了代码冲突和手动修改的问题。
676

被折叠的 条评论
为什么被折叠?



