Spring boot 使用profile完成不同环境的maven打包功能

	<profiles>
		<profile>
			<id>dev</id>
			<properties>
				<!-- 环境标识,需要与配置文件的名称相对应 -->
				<activatedProperties>dev</activatedProperties>
			</properties>
			<activation>
				<!-- 默认环境 -->
				<activeByDefault>true</activeByDefault>
			</activation>
		</profile>
		<profile>
			<id>test</id>
			<properties>
				<activatedProperties>test</activatedProperties>
			</properties>
		</profile>
		<profile>
			<id>prod</id>
			<properties>
				<activatedProperties>prod</activatedProperties>
			</properties>
		</profile>
	</profiles>

  

<build>
    <resources>
        <resource>
        	<!--配置文件路径  -->  
            <directory>src/resources</directory> <!--这里对应项目存放配置文件的目录-->
             <!--开启filtering功能  -->  
            <filtering>true</filtering>
        </resource>
    </resources>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<version>1.5.2.RELEASE</version>
				<configuration>
			           <mainClass>com.duan.SpringbootMybatis.App</mainClass><!--springboot启动类目录-->
			        </configuration>
				<executions>
					<execution>
						<goals>
							<!--创建一个自动可执行的jar或war文件 -->
							<goal>repackage</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
    </build>

  

application-dev.properties对应开发环境

application-test.properties对应测试环境
application-prod.properties对应生产环境

application.properties中填写spring.profiles.active=@activatedProperties@,这里的@activatedProperties@是一个变量对应pom文件里的环境配置。

在pom文件里分别配置好不同环境的文件名称, 注意:<activatedProperties>dev</activatedProperties>中的dev与配置文件名称application-dev.properties要一致
activatedProperties名称对应application.properties配置文件中的spring.profiles.active=@activatedProperties@
当maven打包时会用pom文件里<activatedProperties>dev</activatedProperties>中的值替换掉application.properties配置文件中的@activatedProperties@

原文地址:https://www.cnblogs.com/xiadongqing/p/15405078.html