[英]What are the differences between these two Maven resource definitions?
有人可以向我解释这两种资源定义之间的区别吗? 为什么将jar文件排除在外,但在第二个资源中呢? 我不明白这两个声明:
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>**/*.jar</exclude>
<exclude>myDummyPath/war/l10n/*.*</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</resources>
第一个区别显然是路径:
<excludes>
<exclude>**/*.jar</exclude>
<exclude>myDummyPath/war/l10n/*.*</exclude>
</excludes>
和:
<includes>
<include>**/*.jar</include>
</includes>
显然,第一个声明排除了所有.jar
文件以及I10n
下的所有内容。 另一方面,第二个路径仅包含.jar
文件。
接下来,第一个声明启用过滤,第二个声明禁用过滤。 在maven中,过滤(默认情况下)将所有变量占位符${...}
替换为其值-有关更多信息,请阅读文档 。
因此,在第一个声明中,除.jar
文件和本地化文件外,所有资源都通过maven替换占位符(例如${project.name}
。
在第二个声明中,将复制所有.jar
资源,而不进行过滤。
查看不同的filtering
设置。 作者希望Maven替换某些文件(可能是配置文件)中的占位符,但不要破坏二进制jar文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.