個人需求是要在spring boot的打包包名上加上目標環境,就是 dev qa prod 什麼的。git
這些是在打包時指定在application.yml文件中的,因此須要去讀取yml文件中的屬性。github
在網上看了一下,基本都是讀properties的,沒有找到讀yml的。spring
後來經過聯想查找,找到一個項目 https://github.com/ozimov/yaml-properties-maven-pluginapp
解決了個人問題,直接上代碼:maven
<build> <finalName>main-${spring.profiles.active}</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>it.ozimov</groupId> <artifactId>yaml-properties-maven-plugin</artifactId> <version>1.1.3</version> <executions> <execution> <phase>initialize</phase> <goals> <goal>read-project-properties</goal> </goals> <configuration> <files> <file>src/main/resources/application.yml</file> </files> </configuration> </execution> </executions> </plugin> </plugins> </build>
其中 ${spring.profiles.active} 就是要讀取的屬性名稱。spring-boot
src/main/resources/application.yml 是yml文件地址,src是相對pom文件的。ui
這個方法在 spa
spring-boot-maven-plugin 版本爲2.1.2 下有效, 2.1.4下無效