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

Java 21省略public static主方法编译失败问题求助

Java 21 无public static main方法运行失败的解决办法

你遇到的问题是对Java 21的新特性理解有误:Java 21允许省略main方法的public static修饰符,但这个特性仅适用于直接运行单文件源程序的场景,而非编译后运行.class类文件的传统方式。

错误原因

你应该是先通过javac Main.java编译生成了.class文件,再执行java Main命令。这种情况下JVM仍会遵循传统规则,要求main方法必须是public static void main(String[] args),因此抛出找不到主方法的错误。

正确的运行方式

直接用java命令运行你的.java源文件即可:

java Main.java

此时Java 21的启动器会自动处理源文件,识别无public static修饰的main方法并执行。

若需编译后运行

如果一定要先编译再运行类文件,那么必须恢复main方法的public static修饰符:

public class Main{
    public static void main(String[] args){
        System.out.println("Hi");
    }
}

编译后执行java Main即可正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 19:30:56