[英]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.