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

批处理文件传递含空格的JVM参数报错,如何解决?

解决JVM参数含空格时被误识别为主类的问题

这问题我之前调试批处理脚本时也踩过坑!你遇到的Error: Could not find or load main class Grad,根源就是带空格的JVM系统属性值没有被正确包裹——Windows命令行把-DproviderWellName=Serno Grad里的空格当成了参数分隔符,误以为Grad是要执行的主类,而不是providerWellName属性值的一部分。

修正方法:给带空格的属性值加双引号

在Windows批处理环境中,只要把含空格的JVM参数值用双引号""包裹起来,命令行解析器就会把整个内容视为单个参数,不会拆分。修正后的完整命令如下:

java -cp "./lib/*;./statoil.jar" -DURI=localhost:8080 -DOWUser=abc -DOWPassword=abc123 -DpipelineName=EDMStatOil -Ddatabase=edm -DproviderName=141Provider -DdestinationName=110EDM -DproviderWellName="Serno Grad" com.statoil.rts.test.TestRun

补充说明

  • 重点修改的是-DproviderWellName="Serno Grad"这部分,用双引号把Serno Grad整个包裹,确保Java能正确识别这是一个完整的属性值。
  • 如果是在Linux或macOS的Shell脚本中,用单引号或双引号包裹都可以,但Windows批处理只认双引号作为参数包裹符号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:24:28