maven利用springboot的配置文件进行多个环境的打包

一般情况下,打包不同的环境需要在springboot的application.yml或者application.properties文件里进行切换不同的配置文件,然后再用maven打包

  1. #测试环境
  2. spring.profiles.active=test
  3. #正式环境
  4. spring.profiles.active=prod

image-20200720151604198.png

而利用maven的profile,则可以不用调整application文件就可以进行不同文件的打包:

1.修改pom.xml文件

  1. <profiles>
  2. <profile>
  3. <id>test</id>
  4. <properties>
  5. <profileActive>test</profileActive>
  6. </properties>
  7. <activation>
  8. <activeByDefault>false</activeByDefault>
  9. </activation>
  10. </profile>
  11. <profile>
  12. <id>prod</id>
  13. <properties>
  14. <profileActive>prod</profileActive>
  15. </properties>
  16. <activation>
  17. <activeByDefault>false</activeByDefault>
  18. </activation>
  19. </profile>
  20. </profiles>
  1. <build>
  2. <finalName>xxxxxx_${profileActive}</finalName>
  3. <plugins>
  4. <plugin>
  5. <groupId>org.apache.maven.plugins</groupId>
  6. <artifactId>maven-resources-plugin</artifactId>
  7. <configuration>
  8. <delimiters>
  9. <delimiter>@</delimiter>
  10. </delimiters>
  11. <useDefaultDelimiters>false</useDefaultDelimiters>
  12. </configuration>
  13. </plugin>
  14. </plugins>
  15. <resources>
  16. <resource>
  17. <directory>src/main/resources</directory>
  18. <includes>
  19. <include>application-${profileActive}.properties</include>
  20. <include>application.properties</include>
  21. </includes>
  22. <filtering>true</filtering>
  23. </resource>
  24. </resources>
  25. </build>

(注意在build代码块中,含有其他的、代码块,将块复制到中,将复制到中,此处容易看错,一定注意)

分别加入这两段,然后将application中的:

  1. spring.profiles.active=@profileActive@

改为这样,然后你的idea右侧栏的maven中,就会多出一项:
image-20200720152605560.png

然后只需要勾选选项,就可以打包不同环境的jar包或war包