首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maven测试资源在目标中为空白。

Maven测试资源在目标中为空白。
EN

Stack Overflow用户
提问于 2020-06-01 18:32:59
回答 1查看 378关注 0票数 0

我正在处理一个具有一些测试资源的Maven项目;这些资源是在<build>中指定的,有以下内容:

代码语言:javascript
复制
            <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文件打开。

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

示例

-https://github.com/aembleton/files/blob/master/original.pdf

原始文件

我试着做的

  • mvn clean
  • Tried在命令行和IntelliJ
  • Tried上运行测试,将文件复制到其他子目录和src/test/resources顶部。这些文件被复制到它们的新位置,但仍然是空白的。
  • 将PDF文件移动到src/main/resources。对于资源来说,POM也被设置为在这个目录中包括PDF。PDF再次被复制为空白,但被复制到target/classes
  • Rebooted

中。

环境

system

  • OpenJDK 1.8.0_252

  • Apache

  • Ubuntu20.04,具有5.4.0-31内核

  • Ext4文件

  • Maven 3.6.3

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-01 19:48:59

试着做这样的事情:

代码语言:javascript
复制
<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中排除过滤。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62138640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档