maven多环境配置

   之前每次发布版本时都需要改端口号和数据库账户,发现这样不但麻烦而且费时间,所以特地研究了下多环境的配置。

需要使用springBoot多环境请戳:https://blog.****.net/qq_27184497/article/details/83345833

1、在pom.xml文件的 <project> 标签下加入以下内容,此内容是多环境的配置,读取相应的配置文件,

在这里讲解下<activeByDefault> 标签的作用,这里指 你的默认环境就是dev,执行maven打包命令时:

mvn clean install

打包的就是你的dev环境

<profiles>
	<!--开发环境-->
	<profile>
		<id>dev</id>
		<properties>
			<env>dev-filter.properties</env>
		</properties>
		<activation>
			<!-- 默认使用dev的配置 -->
			<activeByDefault>true</activeByDefault>
		</activation>
	</profile>
	<!--测试环境-->
	<profile>
		<id>test</id>
		<properties>
			<env>test-filter.properties</env>
		</properties>
	</profile>
	<!--生产环境-->
	<profile>
		<id>prd</id>
		<properties>
			<env>prd-filter.properties</env>
		</properties>
	</profile>
</profiles>

maven多环境配置

2、在pom.xml文件的<build> 标签加入以下内容,表示你需要打包哪个环境,env属性是你的多环境 id 名称

<filters>
	<filter>src/main/filters/${env}</filter>
</filters>

maven多环境配置

 3、新建多环境配置文件,一个properties文件对应一个环境,里面可以配置类似于端口号或者数据库账户信息以及其他配置

maven多环境配置

我们看看配置文件的内容,

maven多环境配置

怎么使用呢配置文件里面的属性呢?很简单,但是在yml 和 properties 中使用会有些许差异,

#yml配置引用多环境属性
@属性名称@

# properties配置引用多环境属性
${属性名称}

我使用的yml配置,如下图

maven多环境配置

4、到这一步,多环境就配置完成啦,是不是很简单呢?那么我们要怎么打包多环境呢?在上面的图中可以看到我们有三个环境,分别打包命令如下

# 先进入项目的根目录
cd D:workspace/myProject


# 打包dev环境
mvn clean package -P dev

# 打包test环境
mvn clean package -P test

# 打包prd环境
mvn clean package -P prd

执行命令后maven会先去仓库下载依赖jar,打包成功后如图

maven多环境配置

打包成功的话会告诉你包的存放路径