目标
使用Maven配置多环境
环境
- Spring boot
- maven
- IntelliJ IDEA
步骤
-
在resources目录下建立文件夹
每个环境对应一个目录,如dev目录用于开发环境,prod目录用于正式环境。 -
配置maven文件
只需要配置profiles和build节点
<profiles>
<!-- 开发环境配置 -->
<profile>
<id>dev</id>
<activation>
<!-- 未指定环境时,默认使用这个环境 -->
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<profiles.active>dev</profiles.active>
</properties>
</profile>
<!-- 生产环境配置 使用 mvn clean package -Pprod 打包-->
<profile>
<id>prod</id>
<properties>
<profiles.active>prod</profiles.active>
</properties>
</profile>
</profiles>
<build>
<!-- 根据环境配置来设置jar包名称 -->
<finalName>${artifactId}-${version}-${profiles.active}</finalName>
<!-- 根据环境配置来加载配置文件 -->
<resources>
<resource>
<directory>src/main/resources/${profiles.active}</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
使用
- 打包上线时,使用maven指令打包
命令行下使用以下命令即可根据环境打包,{env}填Profiles里定义的id,如 -Pprod
mvn clean package -P{env}
- 开发时,需要使用IDEA来运行项目
idea有时候会把dev和prod目录都作为配置文件目录,这是我们需要去项目设置那里手动将配置文件目录改为你想要的环境目录下