Spring Boot Maven profile
一、配置pom.xml
配置与pom文件中与dependencies属性同级的profile
<profiles>
<profile>
<id>dev</id>
<properties>
<!-- 自定义字段,这里用来代表当前环境 -->
<profiles.active>dev</profiles.active>
</properties>
<activation>
<!-- 默认启动 -->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>prod</id>
<properties>
<profiles.active>prod</profiles.active>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
</properties>
</profile>
</profiles>
添加完,在IDEA的Maven应该有对应profile环境选项
还有在pom一些配置,跟profiles相关,是在build标签中跟plugins标签同级的
<resources>
<resource>
<!--指定操作的路径-->
<directory>src/main/resources</directory>
<!--指定打包时排除掉的文件-->
<excludes>
<!--*是通配符,为空也可以-->
<exclude>*.properties</exclude>
</excludes>
</resource>
<resource>
<!--指定操作的路径-->
<directory>src/main/resources</directory>
<!--开启@@变量替换功能,将配置文件中@xx@的变量替换成maven pom中对应profile properties的标签值-->
<filtering>true</filtering>
<!--指定替换功能生效的文件-->
<includes>
<include>/application-${profiles.active}.properties</include>
<include>application.properties</include>
</includes>
</resource>
</resources>
二、创建profile文件
必须以application-{profile}.properties格式命名,并且必须在项目的resources文件夹下面,不能是子文件夹,这是约定优于配置的约定。application.properties是主配置文件,项目自带。
三、配置profile文件属性
每个profile代表不同环境下的配置,如dev可以代表开发环境的配置,下图是关于mysql的配置
在主配置文件中让profile配置生效,可以使得特殊配置生效,然后可以在主配置文件配置一些各个环境通用的配置。spring.profiles.active=@profiles.active@这句就是生效语句,@@包围的参数是maven配置中打勾的环境的pom文件的profiles.active属性
四、运行maven,启动项目
在IDEA的maven中clean->compile->package->install完成maven工作,运行项目,启动成功。