项目中 Maven 依赖包存在,但项目类中会出现飘红,而且,执行编译时报错,报错提示 java.lang.IllegalArgumentException: Malformed \uxxxx encoding
这是因为 Maven 本身在解析本地依赖的元数据文件(Tracking Files)时崩溃了
为什么会这样?
Maven 在检查依赖包的版本更新时,需要读取本地仓库(.m2/repository)里的一些记录文件(比如 _remote.repositories 或 resolver-status.properties)。
在之前下载包或中断下载的过程中,某个文件被写入了错误的、损坏的、或者包含了非法转义字符(如未闭合的 \u)的乱码内容。Maven 每次读取到这个损坏的文件时都会直接抛出异常并中断解析,导致 IDEA 无法把包织入你的项目,从而大面积爆红。
如何解决
-
彻底清除本地有毒的依赖缓存文件(必须),本地仓库路径记得改为你自己的。
# window 系统 del /s /q "D:\ProgramFiles\maven\localRepository\*_remote.repositories" del /s /q "D:\ProgramFiles\maven\localRepository\*.properties" del /s /q "D:\ProgramFiles\maven\localRepository\*.lastUpdated" # mac/linux 系统 find ~/.m2/repository -name "_remote.repositories" -delete find ~/.m2/repository -name "*.properties" -delete find ~/.m2/repository -name "*.lastUpdated" -delete -
重新强制同步项目
关闭项目,重新打开项目,在右侧的 Maven 面板上,点击右上角的 “Reload All Maven Projects” 按钮,此时会重新拉取项目依赖,依赖拉取完成之后,飘红应该会自动消失。
-
再次编译项目验证,执行命令如下,或者使用 idea 的 buildi 按钮完成项目构建
mvn clean compile
477



被折叠的 条评论
为什么被折叠?



