[英]Filtering in Maven War Plugin
我不理解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文件在复制到目标目录时都应进行属性替换,而其他所有内容都应该简单地复制到目标目录而不进行任何处理。
进一步阅读:
在war插件配置中过滤用于包括/排除所选目录/文件。 给定配置如下:
<resource>
<directory>/src/main/webapp</directory>
<filtering>true</filtering>
<includes>
<include>**/*.xml</include>
<include>**/*.xhtml</include>
</includes>
</resource>
上面配置的过滤设置为/ src / main / webapp作为根目录有一个称为过滤的标志,用于启用/禁用过滤
<include>**/*.xml</include>
表示将包含根目录(/ src / main / webapp)的任何子目录中的所有.xml文件。 下一个包含意思相同,但有.xhtml文件
<resource>
<directory>${basedir}/src/main/webapp</directory>
<filtering>false</filtering>
<excludes>
<exclude>**/*.xml</exclude>
<exclude>**/*.xhtml</exclude>
</excludes>
</resource>
所有参数都与前一部分相同,只是当根目录i位于不同路径然后是pom.xml时,使用包含$ {basedir}的具有相反含义的排除。 在上面的例子中,它不是必需的
希望这有助于理解它
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.