Maven打包后,resources目录里的PDF空白问题

问题说明

Spring boot项目,项目启动后的Target文件夹内的classes目录下,pdf文件空白,并且打包后,jar文件内的pdf文件也是空白的。

原因分析

经过查询,发现是因为Maven的pom.xml文件配置了filtering导致的,配置如下:

<resources>
    <resource>
         <directory>src/main/resources</directory>
         <filtering>true</filtering>
    </resource>
</resources>

这是Maven提供的一种过滤机制,支持resources目录下的文件复制到target目录时,替换资源文件中的占位符。

例如在resources目录下创建文件hello.txt,文件内容为:

Hello ${name}

当配置了filtering后,文件中的占位符将被替换。

解决办法

两种解决办法,简单粗暴的当然是将filtering改为false。或是将pdf文件过滤,配置以下plugin。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <configuration>
        <nonFilteredFileExtensions>
            <nonFilteredFileExtension>pdf</nonFilteredFileExtension>
        </nonFilteredFileExtensions>
    </configuration>
</plugin>

配置完成后,记得update项目。

消息盒子

# 暂无消息 #

只显示最新10条未读和已读信息