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

Windows命令行使用d8批量编译*.class出现InvalidPathException如何解决

报错原因

该报错是Windows系统CMD的特性导致:CMD默认不会自动展开通配符*,会直接将*.class作为完整字符串传递给d8,而d8本身没有内置通配符解析逻辑,因此识别到非法字符*后抛出路径异常。

解决方案

你可以任选以下任意一种方式实现批量编译:

  • 方案1:直接传入class所在目录
    d8原生支持直接传入目录路径,会自动扫描目录下所有class文件,无需单独指定每个文件。如果class都存放在当前目录,直接执行:
    d8 .
    
    如果class存放在指定的./build/classes目录,执行:
    d8 ./build/classes
    
  • 方案2:使用PowerShell执行命令
    PowerShell默认支持通配符自动展开,直接在PowerShell中运行原有命令即可:
    d8 *.class
    
  • 方案3:在CMD中通过for循环拼接参数
    如果必须使用CMD环境,可先通过for循环收集所有class文件路径再传给d8:
    rem 直接在CMD窗口执行用以下命令
    for %i in (*.class) do call set "class_list=%%class_list%% %i"
    d8 %class_list%
    
    如果是写在bat脚本中使用,需要转义百分号:
    for %%i in (*.class) do call set "class_list=%%class_list%% %%i"
    d8 %class_list%
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 20:57:01