簡體   English   中英

默認情況下,Maven不會將src / test / java中的* .xml文件復制到target / test-classes

[英]Maven is not copying *.xml files in src/test/java to target/test-classes by default

我已經退出編程一段時間了,我又回到了它,我遇到了一個非常特殊的問題。 在過去,每當我從Maven中編譯測試代碼時,它都會將測試源樹中包含的所有* .xml資源文件復制到target/test-classes 但昨晚,在我目前的項目中,它不再這樣做 - 這不是我的預期。 每當我通過Maven或Intellij IDEA運行測試時,測試都會失敗,因為它在類路徑中找不到任何* .xml文件 - 它們從未被復制過。

我在我的計算機上使用完全相同的.pom文件和項目結構的舊項目,並且* .xml文件復制得很好。

為了解決這個問題,我將以下XML包含在我的Maven POM中:

    <testResources>
        <testResource>
            <directory>src/test/java</directory>
            <filtering>false</filtering>
            <includes>
                <include>**/*.xml</include>
            </includes>
        </testResource>
    </testResources>

雖然這解決了這個問題,但我仍然很好奇為什么我不得不告訴Maven手動將測試源樹中的* .xml文件復制到我的target / test-classes目錄。 就像我說的那樣,過去兩年中所有其他舊項目都是在沒有指定testResources情況下復制* .xml文件。

什么可能導致這種行為?

您應該將資源文件放在src/test/resources而不是src/test/java ,這是針對java源文件的。

要控制(也)復制哪些文件,請查看資源插件文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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