Maven Resources Plugin 二进制文件filtering
一、问题背景
Maven项目中打包使用Maven Resources Plugin拷贝配置文件,使用Filtering来处理项目配置文件中的变量,POM文件如下所示:
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
但是对于项目配置文件目录下的二进制文件,经过Filtering处理后,文件内容发生了变化,如pdf
, ddl
文件内容被修改,导致打包后的文件无法正常使用。
二、解决方案
Maven Resources Plugin提供了Binary filtering配置项,阻止二进制文件被filtering,配置案例:
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.2.0</version>
<configuration>
...
<nonFilteredFileExtensions>
<nonFilteredFileExtension>pdf</nonFilteredFileExtension>
<nonFilteredFileExtension>swf</nonFilteredFileExtension>
</nonFilteredFileExtensions>
...
</configuration>
</plugin>
</plugins>
...
</build>
...
</project>
在nonFilteredFileExtension
添加文件扩展名可以阻止文件被filtering。
参考文档
Apache Maven Resources Plugin
Apache Maven Resources Plugin/ Binaries Filtering
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 逐光の博客!
评论