NetBeans生成的示例程序提示无main方法,如何解决?
嘿,我之前帮朋友排查过一模一样的问题,你的代码完全没问题——main方法的签名是标准的public static void main(String[] args),还放在public类里,逻辑上没毛病。咱们一步步来排查可能的坑:
检查项目的运行配置:
有时候创建项目时不小心选了Java Library而非Java Application,或者项目没指定主类。右键点击你的HelloWorldApp项目 → 属性,在左侧类别里选运行,看看“主类”是不是设置成了helloworldapp.HelloWorldApp。如果是空的,点击旁边的浏览按钮选中这个类,保存配置后再试。确认NetBeans使用的是JDK而非JRE:
JDK11是开发环境,JRE只是运行环境,NetBeans如果用JRE的话可能会出现识别问题。打开NetBeans的工具 → Java平台,检查已添加的平台是不是JDK11的安装目录;再右键项目 → 属性 → 库,确认项目使用的平台是这个JDK11。清理重建项目,清除缓存:
NetBeans的编译缓存偶尔会抽风。右键项目 → 清理,等清理完成后再右键 → 构建,之后再尝试运行HelloWorldApp.java。如果还是不行,试试关闭NetBeans,删除项目目录下的build文件夹,重新打开项目再编译运行。检查运行操作的对象:
确保你是右键点击HelloWorldApp.java文件本身,然后选择“运行文件”;而不是右键点击项目根目录或者其他文件。有时候NetBeans的UI响应延迟,关闭再重新打开项目也能解决这种小问题。
附上你提供的代码(本身完全符合规范):
/* * To change this license header, use License Headers in Project Properties. * To change this template file, use Tools | Templates * and open the template in the editor. */ package helloworldapp; /** * * @author peter */ public class HelloWorldApp { /** * @param args the command line arguments */ public static void main(String[] args) { System.out.println("Hello World!"); } }
内容的提问来源于stack exchange,提问作者Balf

