從pom 文件中,讀取 yml中的內容

個人需求是要在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下無效
相關文章
相關標籤/搜索