问题描述:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.3.0:resources (default-resources) on project xx-service: filtering .../src/main/resources/download/meter.xlsx to .../target/classes/download/meter.xlsx failed with MalformedInputException: Input length = 2 -> [Help 1]
解决方案
在pom.xml 加上这一段。。。
|
<plugin> |
|
<groupId>org.apache.maven.plugins</groupId> |
|
<artifactId>maven-resources-plugin</artifactId> |
|
<configuration> |
|
<nonFilteredFileExtensions>xlsx</nonFilteredFileExtensions> |
|
</configuration> |
|
</plugin> |
关于 nonFilteredFileExtensions 的说明
nonFilteredFileExtensions 是 Apache Maven 的一个 POM 构建选项,用于通过指定一组文件后缀名,告诉 Maven 在执行资源过滤时不需要对这些文件进行处理。
在项目中,Maven 会将资源文件(如文本文件、配置文件、XML 文件等)拷贝到目标目录,并在拷贝时对其中的变量进行替换,例如将代码中某个环境变量的值替换为具体的值。这个过程叫做资源过滤。
有些文件,例如图片、音频和视频等二进制文件,它们没有需要替换的内容,因此不需要进行资源过滤,这时候就可以使用 nonFilteredFileExtensions 配置来告诉 Maven 不需要对这些文件进行处理,以加快构建速度。
下面是一个示例配置:
|
<project> |
|
... |
|
<build> |
|
<resources> |
|
<resource> |
|
<directory>src/main/resources</directory> |
|
<filtering>true</filtering> |
|
<nonFilteredFileExtensions> |
|
<nonFilteredFileExtension>jpg</nonFilteredFileExtension> |
|
<nonFilteredFileExtension>gif</nonFilteredFileExtension> |
|
<nonFilteredFileExtension>png</nonFilteredFileExtension> |
|
</nonFilteredFileExtensions> |
|
</resource> |
|
</resources> |
|
</build> |
|
... |
上述配置表示:在 src/main/resources 目录下的资源文件中,除了 .jpg、.gif 和 .png 文件外,其它所有文件都需要进行资源过滤。