解决的问题

springboot(当然别的也可以)多环境切换需要修改配置文件硬编码,打包时不够方便。

解决:

配置文件能读取pom文件中的配置,根据命令选择不同配置注入springboot的配置文件中

pom配置文件:

<!-- 环境 -->
	<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.com/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 
#构建正式包
maven package -P prd -Dmaven.test.skip=true

可能会出现的一些问题
  1. 占位符也可以这样写 @配置的key@, 不建议这样使用
  2. 报@@ 解析错误, 再次执行打包命令: mvn clean package -Ptest
  3. 修改了pom文件中的配置,再次启动项目环境没有变化,因为ide启动的是你之前的包所以你要重新使用打包命令打个新包

本文由博客一文多发平台 OpenWrite 发布!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐