zoukankan      html  css  js  c++  java
  • 从pom 文件中,读取 yml中的内容

    我的需求是要在spring boot的打包包名上加上目标环境,就是 dev qa prod 什么的。

    这些是在打包时指定在application.yml文件中的,所以需要去读取yml文件中的属性。

    在网上看了一下,基本都是读properties的,没有找到读yml的。

    后来通过联想查找,找到一个项目 https://github.com/ozimov/yaml-properties-maven-plugin

    解决了我的问题,直接上代码:

    <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} 就是要读取的属性名称。

    src/main/resources/application.yml 是yml文件地址,src是相对pom文件的。

    这个方法在 

    spring-boot-maven-plugin 版本为2.1.2 下有效, 2.1.4下无效
  • 相关阅读:
    外观模式
    适配器模式
    桥接模式
    中文词频统计
    英文词频统计
    字符串练习
    Python基础
    熟悉常用的Linux操作
    作业
    递归下降分析法
  • 原文地址:https://www.cnblogs.com/eclipse-/p/10625461.html
Copyright © 2011-2022 走看看