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

groovyc编译后执行java命令报错:找不到或无法加载主类HelloWorld

Groovy编译后运行找不到主类的解决方法

问题分析

编译生成HelloWorld.class后,用java命令运行时出现ClassNotFoundException,但直接用groovy命令执行脚本正常。原因是使用-cp指定类路径时,JVM不会默认包含当前工作目录,你的HelloWorld.class在当前目录,但-cp仅指定了Groovy的jar包,导致JVM找不到该类文件。

解决方案

方法1:将当前目录加入类路径

修改java命令,把当前目录(.)添加到类路径中,不同系统的路径分隔符不同:

  • Linux/macOS系统(用冒号:分隔路径):
    java -Xdiag -cp .:groovy-2.4.21/embeddable/groovy-all-2.4.21.jar HelloWorld
    
  • Windows系统(用分号;分隔路径):
    java -Xdiag -cp .;groovy-2.4.21/embeddable/groovy-all-2.4.21.jar HelloWorld
    

方法2:直接用groovy命令运行class文件

Groovy提供了更简便的方式,直接运行编译后的class文件,无需手动配置类路径:

groovy HelloWorld

补充说明

groovy HelloWorld.groovy能正常运行,是因为groovy命令会自动处理类路径,默认包含当前目录和Groovy的核心库,无需手动指定。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 22:15:40