You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maven 3.9.0构建Java应用报MalformedInputException错误求助

错误成因分析
  • Maven 3.9.0对资源编码的校验严格化
    Maven 3.9.0版本调整了maven-resources-plugin的行为逻辑,配合3.3.0版本插件使用时,资源过滤环节对编码的校验变得更严格。在3.6.x-3.8.x版本中,插件会宽松处理资源文件中不符合指定UTF-8编码的字节(比如单个无效高字节、非UTF-8字符),要么自动替换要么忽略;但3.9.0环境下,插件会严格执行UTF-8编码规则,一旦检测到无效的字节序列,直接抛出MalformedInputException。

  • 资源文件实际编码与配置不匹配
    尽管POM已指定UTF-8编码,但你的HTML/XML文件可能实际采用了其他编码(如GBK、ISO-8859-1),或是文件中混入了单个非UTF-8的无效单字节(比如编辑过程中遗留的异常字节)。旧版Maven会兼容这种不匹配,但3.9.0的严格校验直接触发了异常。

  • 插件编码配置的继承逻辑变化
    Maven 3.9.0修改了插件配置的读取优先级,可能导致maven-resources-plugin没有正确继承POM中设置的UTF-8编码,转而使用系统默认编码(比如Windows环境下的GBK)。当用系统编码解码实际为UTF-8的文件时,就会出现「Input length = 1」的编码错误。

内容的提问来源于stack exchange,提问作者Dray56

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 15:52:43