NetBeans 12.0:"Class does not have a main method"(但确实如此)

NetBeans 12.0: "Class does not have a main method" (but it does)

NetBeans 12.0

Jdk 15

我无法启动我的程序,单击绿色 运行 按钮没有任何作用,右键单击 MainFrame 上的 运行 文件会出现错误“Class 没有一个主要方法”。但是正如您在下面的 GIF 中看到的那样,它确实有一个 main(String args[]).

有人知道为什么会这样吗?

初步建议:

  1. 确保首先保存所有文件。如果您尝试 运行 包含 main 方法的 class 尚未保存的程序,则可能会发生这种情况。

  2. 右键单击项目名称(在项目资源管理器中),然后 select 属性 > 运行 - 然后确保主要 class 是select在那里。同样,如果您还没有保存文件,NetBeans 可能无法找到 main 方法(还)。

检查您的项目中是否还有其他 class 也有 public static void main(String args[]) 方法。

如果一切都失败了:

清除 NetBeans 缓存可能会有帮助。

转到“帮助”>“关于”,记下缓存目录的位置。退出 NetBeans。删除缓存目录。重新启动 NetBeans。


警告

请注意@skomisa 在评论中指出的内容:

NetBeans 12.0 does not support Java 15, and while it may work for a trivial project, there are still issues (as shown by the comments here). It would be reckless to use that combination for production code, and the IDE (as opposed to the compiler) may not handle new features in Java 15 appropriately.

以下是在 Netbeans 12.3 JDK 11 上对我有用的方法:

  1. 右键单击项目 -> 属性
  2. 在“源”选项卡中,单击“源包文件夹”下的“添加文件夹”。选择 src.
  3. 按确定。

似乎 Netbeans 重新扫描了项目文件夹,找到了主要 class。