我正在一个具有一些测试资源的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文件就位,完全空白。没有内容,但是它必须具有所有必要的标头信息,因为它确实会作为有效的PDF文件打开。
我不知道从哪里获得这些空白文件。
mvn clean
src/test/resources
的顶部。文件被复制到新位置,但仍为空白。src/main/resources
。对于资源,POM设置为也将PDF包含在此目录中。 PDF再次复制为空白,但复制到target/classes
没有人知道为什么会发生这种情况吗?
尝试做这样的事情:
<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中排除过滤。