【Maven - nonFilteredFileExtensions】打包问题记录
问题描述:
[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 文件外,其它所有文件都需要进行资源过滤。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南