バージョン 21 までの Java で名前が "main" であるものの、public static void main(String[]) シグネチャーがないメソッドを報告します。 Java 21 プレビュー以降、インスペクションは package-private、protected、またはインスタンスの main メソッドではハイライトしません。 さらには、匿名またはローカルクラスにある main メソッドを報告します。 匿名およびローカルクラスは完全修飾名がないため、実行することはできません。

このようなメソッドは混乱を招く可能性があります。"main" という名前のメソッドはアプリケーションのエントリーポイントであると思われてしまうためです。

例:


  class Main {
    void main(String[] args) {} // "public static" 修飾子がないため、ここで警告が表示されます
  }

このようなメソッドの名前を変更するクイックフィックスは、エディターでのみ使用できます。