<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@