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

IntelliJ中Maven构建报错java.net.URISyntaxException求解决方案

解决方案:Maven构建时URI格式错误问题

问题根源

错误栈显示java.net.URISyntaxException: Illegal character in authority at index 7: file://C:\Users\xxx\.m2\repository/...,这是因为Windows本地文件路径被错误转换为URI格式:标准的file URI应该是file:///C:/...(三个斜杠,盘符后用正斜杠),而不是file://C:\...(两个斜杠加反斜杠),冒号在URI的authority位置属于非法字符。该问题出现在Spring Boot Migrator(SBM)调用OpenRewrite解析Maven POM的过程中。

具体解决步骤

  • 修正Maven本地仓库路径格式
    打开~/.m2/settings.xml,找到<localRepository>标签,将路径中的反斜杠替换为正斜杠,示例:

    <localRepository>C:/Users/xxx/.m2/repository</localRepository>
    

    同时在IntelliJ的Settings -> Build, Execution, Deployment -> Build Tools -> Maven中,将Local repository路径也改成正斜杠格式。

  • 添加VM参数强制指定正确的仓库URI
    在IntelliJ的Run/Debug配置中,给项目添加VM启动参数,明确指定本地仓库的正确URI:

    -Dmaven.localRepository=file:///C:/Users/xxx/.m2/repository
    

    注意参数里是三个斜杠,路径全部用正斜杠。

  • 升级Spring Boot Migrator或OpenRewrite版本
    该问题可能是旧版本工具的路径处理bug,尝试将SBM或OpenRewrite依赖升级到最新稳定版,修复已知的Windows路径兼容问题。

  • 迁移本地仓库到无特殊字符路径
    临时方案:将本地仓库移到不含空格、中文或特殊字符的路径,比如C:/maven_repo,然后修改Maven配置指向这个新路径,避免格式解析冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 15:57:38