项目开发过程中,需要分为几个环境进行开发,这样方便代码的开发测试及发布生产环境。以下使用的是IDEA进行的配置。
1.新建环境隔离目录
在项目src/main/resources下新建一个profiles文件夹,文件夹下再新建四个对应环境的文件夹,将需要环境隔离的配置文件分别逐一复制到每个文件加下。
2.在pom文件中加入如下配置:
<profiles>
<profile>
<id>local</id>
<properties>
<env>local</env>
</properties>
<!--默认选择环境-->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>dev</id>
<properties>
<env>dev</env>
</properties>
</profile>
<profile>
<id>beta</id>
<properties>
<env>beta</env>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<env>prod</env>
</properties>
</profile>
</profiles>
<build>
<filters>
<filter>src/main/resources/profiles/${env}/application.properties</filter>
</filters>
<resources>
<!--先不加载profiles文件下的配置文件-->
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>profiles/**</exclude>
<exclude>*.jsp</exclude>
</excludes>
</resource>
<!--单独再加载选择的环境配置文件-->
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>profiles/${env}/**</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
3.选择环境
1~2点配置完成之后,点击打开Maven Projects栏,会看到多了一个Profiles目录,点击展开就是配置的四个环境:
选择所需环境时需要经过maven重新编译才会生效,可执行以下命令:
#-Dmaven.test.skip=true 表示maven打包时跳过单元测试
# -Pprod 表示激活根据pom.xml配置的<profile>下<id>为prod
# -P 参数 配合资源过滤Filter
mvn clean package -Dmaven.test.skip=true -Pprod
或
mvn clean package -Dmaven.test.skip=true -Pbeta
等
注:
参考资料:Maven环境隔离