bat文件执行时-D参数显示乱码导致Java程序无法启动如何解决
批处理脚本Java启动参数乱码问题修复方案
问题根因
你遇到的问题和Windows系统安装配置无关,核心错误是批处理脚本中java命令后的–Dproperties.location参数前缀的横杠不是标准半角减号,而是排版用的全角短破折号(Unicode U+2013),CMD无法识别该字符就会判定为乱码,导致参数解析失败。
手动输入命令可以正常启动,是因为你手动输入时用的是英文输入法下的半角减号,符合CMD的字符解析规则。
修复步骤
- 打开你的.bat脚本,删除
java命令后Dproperties.location前面的长横杠,替换为英文输入法下输入的半角减号- - 为避免
%~dp0获取的路径包含空格导致参数拆分错误,建议给JVM参数加英文双引号,修改后的完整脚本如下:
@echo off java "-Dproperties.location=%~dp0config.properties" -jar userspro-ak.jar >> logs.log pause
- 保存修改后的脚本,重新运行即可正常启动程序
内容的提问来源于stack exchange,提问作者Andrés Kertesz
相关产品推荐
相关产品推荐

