平時開發中最常見的是dev、test、prod三種環境,經常會在一個項目中,根據不同的環境去不同的配置。下面就在springboot+maven的開發環境下配置這三種環境。
1.在pom.xml文件中配置出這三個profile。
1 <profiles> 2 <profile> 3 <id>dev</id> 4 <properties> 5 <profiles.active>dev</profiles.active> 6 </properties> 7 <activation> 8 <activeByDefault>true</activeByDefault> 9 </activation> 10 </profile> 11 12 <profile> 13 <id>test</id> 14 <properties> 15 <profiles.active>test</profiles.active> 16 </properties> 17 </profile> 18 19 <profile> 20 <id>prod</id> 21 <properties> 22 <profiles.active>prod</profiles.active> 23 </properties> 24 </profile> 25 </profiles>
其中<id>的是會在右側maven面板中顯示的值,<profiles.active>標簽是自定義的,可以更換成其他標簽。
2.在項目的resources目錄下創建出對應的目錄和文件,文件夾的目錄和<profiles.active>的值保持一致。

3.在pom.xml文件中配置打包是需要打進jar包的配置文件
1 <build> 2 <finalName>test-api</finalName> 3 <plugins> 4 <plugin> 5 <groupId>org.springframework.boot</groupId> 6 <artifactId>spring-boot-maven-plugin</artifactId> 7 <executions> 8 <execution> 9 <goals> 10 <goal>repackage</goal> 11 </goals> 12 </execution> 13 </executions> 14 <configuration> 15 <executable>true</executable> 16 </configuration> 17 </plugin> 18 </plugins> 19 <resources> 20 <resource> 21 <directory>src/main/resources/</directory> 22 <!--打包時先排除掉三個文件夾--> 23 <excludes> 24 <exclude>dev/*</exclude> 25 <exclude>prod/*</exclude> 26 <exclude>test/*</exclude> 27 </excludes> 28 </resource> 29 <resource> 30 <!--這里是關鍵! 根據不同的環境,把對應文件夾里的配置文件打包--> 31 <directory>src/main/resources/${profiles.active}</directory> 32 </resource> 33 </resources> 34 </build>
注:<directory> 標簽中的 "profiles.active" 和1中的名稱保持一致。
只要保證兩邊保持一致即可。
4.刷新maven,即可看到右側Maven面板中profiles文件夾下的這三個環境(名稱是1對應的id)了。
