Maven 测试资源在 target 中为空白

Maven test resources are blank in target

我正在做一个有一些测试资源的 Maven 项目;这些在 <build> 中指定如下:

            <testResource>
                <filtering>true</filtering>
                <directory>src/test/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                    <include>**/*.csv</include>
                    <include>**/*.zip</include>
                    <include>**/*.xls</include>
                    <include>**/*.xlsx</include>
                    <include>**/*.jpg</include>
                    <include>**/*.pdf</include>
                </includes>
            </testResource>

当测试 运行 时,所有匹配这些扩展名的文件都从 src/test/resources 复制到 /target/test-classes 以用于测试。

问题是,PDF 文件是在空白处复制的。所以,文件名就在那里;一个有效的 PDF 就在它的位置,只是完全空白。没有内容,但它必须包含所有必要的 header 信息,因为它确实作为有效的 PDF 文件打开。

我不明白这些空白文件是从哪里来的。

例子

我尝试过的事情

环境

有人知道为什么会发生这种情况吗?

尝试做这样的事情:

<testResource>
    <filtering>true</filtering>
    <directory>src/test/resources</directory>
    <includes>
        <include>**/*.properties</include>
        <include>**/*.xml</include>
        <include>**/*.csv</include>
    </includes>
</testResource>
<testResource>
    <filtering>false</filtering>
    <directory>src/test/resources</directory>
    <includes>
        <include>**/*.pdf</include>
        <include>**/*.jpg</include>
        <include>**/*.zip</include>
        <include>**/*.xls</include>
        <include>**/*.xlsx</include>
    </includes>
</testResource>

解释:

过滤可能会损坏 PDF。 过滤通过用其他值替换特定的字符串标记来工作。 解决方案是从 PDF 中排除过滤。