我不明白 Maven War 插件的以下过滤器配置。有人可以向我解释一下他们在做什么吗?我已经用第一个示例和第二个示例标记了代码
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<!--First Example-->
<resource>
<directory>/src/main/webapp</directory>
<filtering>true</filtering>
<includes>
<include>**/*.xml</include>
<include>**/*.xhtml</include>
</includes>
</resource>
<!--Second Example-->
<resource>
<directory>${basedir}/src/main/webapp</directory>
<filtering>false</filtering>
<excludes>
<exclude>**/*.xml</exclude>
<exclude>**/*.xhtml</exclude>
</excludes>
</resource>
</webResources>
</configuration>
</plugin>
我知道这是一个老问题,但另一个答案是如此具有误导性,我觉得我应该澄清它......
过滤在Maven中通常表示一个概念替换属性占位符在处理过的文本文件中(例如替换出现的${project.version}
与您项目的实际版本)。
您的配置可以解读为:每个 XML 和/或 XHTML 文件在复制到目标目录时都应该进行属性替换,而其他所有文件都应该简单地复制到目标目录而不进行任何处理。
一些进一步阅读:
- 资源过滤 https://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html#
- webapp资源过滤 https://maven.apache.org/plugins/maven-war-plugin/examples/adding-filtering-webresources.html
- 过滤web.xml https://maven.apache.org/plugins/maven-war-plugin/faq.html#filtering
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)