maven项目中如何在properties文件中读取pom文件的键值对

这个问题之前就查过知道答案了,但最近又遇到了,然后肯定又是浪费了时间去查,虽然问题不大,但每次都这样肯定不行啊,严重影响效率。(ps:其实好多时候都是这样,可能是我的记忆力不好了吧,脑子不好使了。。。)

 都知道使用 properties 能够把项目相关的配置的以 key-value 的形式存到一起,需要修改的时候也能够很快定位,替换。比如项目当中的数据库链接相关的配置即使如此(参考图1和图2)

然后项目是分布式的,所以很多分布式的应用中配置很多的 properties 也是很麻烦的,而且项目的环境也有很多,比如开发的dev,测试test,生产的prov等,因此我们也可以通过在 properties文件中 使用 ${} 占位符的形式获取 pom文件中的自定义的属性值,以此类推,就可以把属性值的设置 放到项目的 parent的根pom文件中了(图3),这样所有的属性值都在一起放置,更加方便了

<build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>
而且不要忘了将filtering属性值设置为true,这样就可以了(我公司的项目中没发现这个配置,不过应该是使用了插件的形式)

相关推荐