Windows下JDK16环境运行mvn install出现路径非法字符错误如何解决
根因说明
该报错是路径字符串中存在不符合JDK16路径校验规则的内容,你提供的报错日志里D:\swigwin-4.0.1路径前存在多余空白字符,Windows盘符格式的冒号出现在了不符合预期的索引位置,触发了非法字符校验。Mac系统没有盘符冒号规则,所以相同配置不会触发报错。
解决步骤
- 检查项目路径配置
打开项目pom.xml、独立properties配置文件中关于swig路径的配置项,确认D:\swigwin-4.0.1前后没有多余空格、不可见特殊字符,配置值严格和本地实际路径一致。 - 校验系统环境变量
检查系统环境变量中SWIG_HOME、MAVEN_HOME等相关变量的取值,确认变量值前后没有空白字符,变量命名无特殊符号。修改环境变量后需要重启终端和IDE保证配置生效。 - 新增JDK兼容参数
在Maven运行参数中添加路径校验兼容配置:- 进入Maven安装目录下的
conf文件夹,新建/编辑mavenrc.cmd文件 - 新增配置行:
set MAVEN_OPTS=%MAVEN_OPTS% -Djdk.nio.path.allowAmbiguousEmptyComponents=true - 保存文件后重新执行
mvn clean install验证
- 进入Maven安装目录下的
- 适配JDK版本兼容
如果上述操作无效,可先临时将项目运行JDK版本切换为8或11验证:如果降级后构建成功,说明项目使用的maven插件(如swig-maven-plugin)版本未适配JDK16,将对应插件升级到最新正式版即可解决。
内容的提问来源于stack exchange,提问作者gamerx
相关产品推荐
相关产品推荐

