簡體   English   中英

這兩個Maven資源定義之間有什么區別?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM