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

执行Java命令时无法找到或加载主类test.test.Main.class的解决方法

问题分析与解决步骤

咱们一步步拆解这个错误的原因,然后把它搞定:

1. 命令里的.class后缀是多余的

Java执行主类时,不需要加.class后缀——你要传入的是全限定类名(比如test.test.Main),而不是字节码文件的文件名。JVM会自动在类路径里寻找对应的test/test/Main.class文件(不管是在目录还是jar包里),加了后缀反而会让JVM误以为这是类名的一部分,自然找不到。

2. 没有指定类路径(Classpath)

你的test.test.Main类是在/jars/deploy/lib/jobStarter.jar这个jar包里的,JVM默认只会在当前工作目录下查找类,所以必须明确告诉它要去这个jar包里找目标类。


正确的执行命令

直接修改命令,去掉.class后缀,加上-cp(或-classpath)参数指定jar包路径:

java -Dabcdef -cp /jars/deploy/lib/jobStarter.jar test.test.Main

如果你的Main类还依赖其他jar包(比如myStuff-abcdef.jar或helloWorld.jar),需要把这些jar也加入类路径,多个路径用冒号(Linux/macOS环境)分隔:

java -Dabcdef -cp "/jars/deploy/lib/jobStarter.jar:/jars/deploy/lib/myStuff-abcdef.jar:/jars/deploy/lib/helloWorld.jar" test.test.Main

额外验证步骤

如果还是有问题,可以先确认jar包里确实存在这个类:

jar -tf /jars/deploy/lib/jobStarter.jar | grep test/test/Main.class

如果命令输出包含test/test/Main.class,说明jar包是正常的,只要类路径配置正确就能运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:12:50