在实际开发中,pom文件中常常出现以下配置
<build>
<resources>
<resource>
<directory>${basedir}/src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/application*.yml</include>
<include>**/application*.yaml</include>
<include>**/application*.properties</include>
</includes>
</resource>
<resource>
<directory>${basedir}/src/main/resources</directory>
<excludes>
<exclude>**/application*.yml</exclude>
<exclude>**/application*.yaml</exclude>
<exclude>**/application*.properties</exclude>
</excludes>
</resource>
</resources>
</build>
很多人不理解为什么一会包括一会排除,其实这是在配置文件中引用pom文件时,对配置文件做的一个预处理,我直接举个例子,例如在pom文明中,我有properties配置如下:
<properties>
<java.version>1.8</java.version>
<author.name>motionlesstar</author.name>
<project.name>resource</project.name>
</properties>
项目中有配置文件如下:

在配置文件中引用pom配置,例如
author: name: @author.name@
但我们进行打包后发现a.properties,b.yml,c.yaml不起作用


只有resources节点中配置过的进行了预处理





本文解释了在Java项目开发中,POM文件中`<build><resources>`标签的资源过滤配置,以及如何在配置文件中引用POM中的properties属性进行预处理,以确保某些文件在打包时不被包含或替换。

525

被折叠的 条评论
为什么被折叠?



