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

Node.js spawn传递参数时路径字符异常问题(macOS环境)

解决Node.js spawn启动DynamoDBLocal的类加载错误

你的问题根源在于spawn的参数数组格式不符合要求,shell中用空格分隔的参数必须逐个拆分为数组元素,且Java系统属性参数缺少必要的前缀。

修正后的代码

const args = [
    '-Djava.library.path=./DynamoDBLocal_lib',
    '-jar',
    './DynamoDBLocal.jar',
    'inMemory'
]

const dynamodb = spawn('java', args, {cwd: './dynamodb_local'})

关键修正点

  • 补上-D前缀:Java系统属性参数必须以-D开头,你之前漏了这个前缀,导致JVM误把该参数当成主类名,从而抛出"找不到或无法加载主类"的错误。
  • 拆分合并的参数:spawn要求每个命令行参数都是独立的数组元素,不能将-jar ./DynamoDBLocal.jar合并成一个字符串,否则会被java命令当作单个无效参数解析。
  • 路径异常问题是参数格式错误导致的解析混乱,修正参数后该问题会自动消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 15:01:56