在实际开发中,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节点中配置过的进行了预处理