配置文件读取pom文件信息
解决的问题
springboot(当然别的也可以)多环境切换需要修改配置文件硬编码,打包时不够方便。
解决
配置文件能读取pom文件中的配置,根据命令选择不同配置注入springboot的配置文件中
pom配置文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
<!-- 环境 --> < profiles > <!-- 开发 --> < profile > < id >dev</ id > < activation > <!--默认激活配置,maven打包默认选用的配置--> < activeByDefault >true</ activeByDefault > </ activation > < properties > <!--当前环境自定义配置,标签名自定义--> < profile.name >dev</ profile.name > < profile.baseUrl >http://localhost:5501</ profile.baseUrl > </ properties > </ profile >
<!-- 测试 --> < profile > < id >test</ id > < properties > <!--当前环境--> < profile.name >test</ profile.name > < profile.baseUrl >http://test.xxxx测试数据/xxx</ profile.baseUrl > </ properties > </ profile > <!-- 生产 --> < profile > < id >prd</ id > < properties > <!--当前环境,生产环境为空--> < profile.name >prd</ profile.name > < profile.baseUrl >http://api.xxx.cn/xxx</ profile.baseUrl > </ properties > </ profile > </ profiles > |
修改后的写法
当然,别的配置项也能这样写,这样写的好处是只需修改一处别的不用修改
maven打包命令
mvn clean package -Ptest 这样就能打成测试环境的包了
可能会出现的一些问题
占位符也可以这样写 @配置的key@,不建议这样使用 报@@ 解析错误,再次执行打包命令: mvn clean package -Ptest 修改了pom文件中的配置,再次启动项目环境没有变化,因为ide启动的是你之前的包所以你要重新使用打包命令打个新包
Pom文件依赖配置说明
1、groupId、artifactId、version是依赖的基本坐标,缺一不可,其它两个坐标元素不指定时将采用默认值
type :依赖的类型,对应坐标packaging,默认为jar optional :标记依赖是否可选,A->B->C,那么当A依赖于C时就可以设为可选。 exclusions :排除传递依赖
scope 依赖范围
compile :编译范围,默认scope,在classpath中存在 provided :已提供范围,比如容器提供Servlet API runtime :运行时范围,编译不需要,接口与实现分离 test :测试范围,单元测试环境需要 system :系统范围,自定义构件,指定systemPath import :导入依赖以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
原文链接:https://blog.csdn.net/ityqing/article/details/102704960
查看更多关于springboot配置文件读取pom文件信息方式的详细内容...