你好,欢迎进入江苏优软数字科技有限公司官网!

诚信、勤奋、创新、卓越

友好定价、专业客服支持、正版软件一站式服务提供

13262879759

工作日:9:00-22:00

intellij idea 14 告别手动修改!Maven Profiles+IDEA实现一键切换环境:本地开发与生产部署的完美解决方案

发布时间:2025-11-25

浏览次数:0

在平常的开发里面,我们常常会碰到一个较为棘手的问题,那就是,本地进行开发连接的是用于测试的数据库,然而当上线的时候,却需要连接可供实际生产使用的数据库。要是在打包这个环节手动去修改配置文件的话,这不但很繁杂,而且还极容易由于犯错误的操作而致使生产方面出现事故。

在今儿所讲的内容里,会去阐述怎样借助Maven,联合IDEA,达成“一键切换”这种环境下的打包操作,从而完完全全地跟手动去改动配置文件的那个时期予以告别。

核心原理

Maven具备一项称作(配置文件)的强大功能,我们能够定义多套环境配置比如dev、test、prod 进而借助变量去控制Maven于构建过程里加载各异的资源文件 。

方案一:基于目录隔离(通用方案,推荐)

适用场景为,传统的 SSM 项目,或者是期望打包之后的 jar 包之内仅仅涵盖当下环境配置,而不涵盖其他环境的杂乱文件 。

1. 规划项目目录

在 src/main/ 下,为不同环境建立独立的文件夹:

text

src/main/,其中包含:该路径下有-dev,2. 进行配置pom.xml标点符号。

我们需要做两件事:定义变量、控制资源加载。

xml

dev

-dev

true

prod

-prod

src/main//那个被称作${env}的东西,src/main/ ,排除 -dev/之下所有内容 ,再排除 -prod/之下所有内容 。

方案二: Boot 资源过滤( 专用)

适用于的场景是,Boot项目,借助它多元的环境配置机制,也就是-{}.yml 。

1. 规划项目目录

文件通常平铺在 目录下:

text

src/main/ ├── .yml 2. 修改 .yml

于主配置文件里头,运用 Maven 的占位符(Boot 所推荐采用的是 @...@), 。

yaml

intellij idea 14_Maven Profiles 环境切换 IDEA 配置文件管理

这里的值,会在 Maven 进行打包这个行为的时候,被动态地替换掉 。

3. 配置 pom.xml

开启资源过滤(),让 Maven 解析文件中的占位符。

xml

dev

dev

true

prod

prod

src/main/ true

实操:在 IDEA 中一键切换

配置完成后intellij idea 14,在 IDEA 中的操作步骤完全一致:

先要打开Maven面板,接着点击IDEA右侧侧边栏的Maven标签,然后找到展开项目下的文件夹,之后勾选环境,要是想打生产包,那就勾选prod,此时dev会自动取消勾选,要是想打开发包,那就勾选dev,再执行打包,在相应之下,双击clean清理旧文件,接着双击开始打包。

小窍门儿:进行勾选之后,要是代码之内针对变量的引用呈现出爆红状态,那么能够点击 Maven 面板左上角的那个“All Maven”(也就是刷新图标)去同步状态。

验证结果

不要盲目相信配置,建议第一次打包后进行验证:

于打包结束之后,于项目左边的文件树里找寻 目录。将 / 予以展开或者把生成的 .jar 包解压。依照方案一作验证:核查根目录下面有没有 .,并且其内容是不是生产库地址。按照方案二进行验证:把 .yml 打开,查看 : @.@ 是不是已经被替换成了 : prod。进行进阶操作:通过 CI/CD 命令行实施打包 。

要是你的项目借助 或者 CI 来开展自动化部署,且不需要图形界面,仅需在命令里添加 -P 参数:

bash

# 将开发环境进行打包,执行 mvn clean ,并使用 -Pdev ,# 把生产环境予以打包,运行 mvn clean ,且采用 -Pprod 。

总结

通过 Mavenintellij idea 14,我们实现了环境配置与代码的解耦:

倡导依据你所从事的项目类别(针对普通 Maven 项目选取方案一,针对 Boot 则选取方案二),尽快去接入这一套流程。

如有侵权请联系删除!

13262879759

微信二维码