发布时间: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

这里的值,会在 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 则选取方案二),尽快去接入这一套流程。
如有侵权请联系删除!
Copyright © 2023 江苏优软数字科技有限公司 All Rights Reserved.正版sublime text、Codejock、IntelliJ IDEA、sketch、Mestrenova、DNAstar服务提供商
13262879759
微信二维码