Maven打包时触发NumberFormatException问题求助
针对Windows下Maven打包异常的排查方案
这种仅单台设备出现的Maven打包故障,一般和本地环境的缓存损坏、配置变动或者系统层面的干扰有关,结合你提到的「之前能正常打包、旧分支也出问题、已重装Maven」这些信息,给你几个实操性的排查方向:
清理本地Maven仓库缓存
本地仓库里的依赖包很可能因为某次下载中断或者文件损坏导致异常,尤其是旧分支都无法正常打包的情况,缓存问题概率极高。你可以:- 找到Maven本地仓库路径(默认是
C:\Users\[你的用户名]\.m2\repository) - 删除仓库内的全部内容,或者至少删除和你项目相关的依赖文件夹
- 执行
mvn clean package -U命令,-U参数会强制Maven更新所有快照依赖,重新下载完整的依赖包
- 找到Maven本地仓库路径(默认是
校验Java环境的一致性
虽然你指定了Java 1.8.0_91,但有可能系统环境变量被无意中修改,导致Maven调用了其他版本的JDK:- 打开命令提示符,分别执行
java -version和javac -version,确认两个命令输出的版本都是1.8.0_91,且完全一致 - 检查系统环境变量中的
JAVA_HOME,确保它指向的是正确的JDK安装路径,同时PATH环境变量里,这个JDK的bin目录排在其他JDK路径之前
- 打开命令提示符,分别执行
检查Maven配置文件的正确性
重装Maven后,settings.xml可能被重置,或者之前的配置(比如镜像、代理)出现了问题:- 检查两个位置的
settings.xml:Maven安装目录下的conf/settings.xml,以及用户目录.m2下的settings.xml - 如果配置了自定义镜像,暂时注释掉这些镜像配置,改用Maven默认的中央仓库尝试打包,看是否能正常执行
- 确认代理配置是否正确,如果不需要代理,要确保代理相关的配置已经被注释或删除
- 检查两个位置的
排查系统权限与磁盘空间问题
Windows系统下,权限不足或磁盘空间不够也会导致Maven打包失败:- 确保你的项目目录和Maven本地仓库目录,当前用户拥有完全控制的权限(右键文件夹→属性→安全选项卡)
- 检查磁盘剩余空间,至少预留几个GB的空闲空间,供Maven下载依赖和生成打包产物
排除后台进程或杀毒软件的干扰
有些杀毒软件、防火墙或者文件同步工具,会拦截Maven的文件读写操作,导致异常:- 暂时关闭杀毒软件和防火墙,或者将项目目录、Maven本地仓库加入信任列表
- 关闭不必要的后台进程(比如OneDrive这类文件同步工具),然后重新执行打包命令
内容的提问来源于stack exchange,提问作者cactus
相关产品推荐
相关产品推荐

