spring 使用maven的profile功能 实现项目动态切换不工作环境配置文件(附带源码)

maven-profile-简单使用demo

在开发过程中,我们的代码会运行在多种环境。比如开发环境、测试环境、生产环境等等多个环境。
而我们的代码在不同的环境中,有的配置可能会不一样。
比如数据源配置、日志文件配置、以及一些软件运行过程中的基本配置。
那每次我们将软件部署到不同的环境时,都需要修改相应的配置文件,这样来回修改,很容易出错。

maven提供了一种方便的解决这种问题的方案,就是profile功能。

首先定义配置文件

说明:这个项目只是简单演示,实际环境可能要更复杂。

在src/main/resources 目录下我们定义了一个配置文件
application.properties 但是我们里边的值都是用${}来取值的。

然后我们在src/main/resources 下创建一个config里边来写我们不同环境使用的不同配置
一个环境一个配置文件,然后配置文件的key就是我们application.properties中 ${}里边的值

在pom.xml中使用profile功能

第一步定义环境,我们几个配置文件就指定几个环境,默认激活一个一般是dev方便开发

<profiles>
		<profile>
			
			<id>devid>
			<properties>
				
				<profiles.active>devprofiles.active>
			properties>
			<activation>
				
				<activeByDefault>trueactiveByDefault>
			activation>
		profile>
		<profile>
			
			<id>releaseid>
			<properties>
				<profiles.active>releaseprofiles.active>
			properties>
		profile>
		<profile>
			
			<id>betaid>
			<properties>
				<profiles.active>betaprofiles.active>
			properties>
		profile>
	profiles>

第二部配置build

<build>
		
		<filters>
			<filter>src/main/resources/config/application-${profiles.active}.propertiesfilter>
		filters>
		<resources>
			<resource>
				<directory>src/main/resourcesdirectory>
				
				<filtering>truefiltering>
				
				<excludes>
					<exclude>config/exclude>
				excludes>
			resource>
		resources>
	build>

观察效果

install 活着package 我们的项目,去target里边去观察我们的application.properties
 发现已经值已经是dev环境的值了。

如果是Eclipse开发环境想方便点切换环境可以 在项目上
右键>maven>Select Maven profiles…
里边选我们要使用的环境。
注意:切换后最好先clean一下项目,不然可能会不生效。

源码地址:

https://gitee.com/mycode-demo/maven-profile-example

你可能感兴趣的:(Maven,java,maven,spring)