Java 21 이내에서 'main'이라고 명명되었으나 public static void main(String[]) 시그니처를 가지지 않는 메서드를 보고합니다. Java 21 사전 테스트 버전부터 검사가 package-private, protected 또는 인스턴스 main 메서드와 매개변수 및 매개변수가 없는 경우에 강조 표시하지 않습니다. 또한 익명 또는 로컬 클래스에 있는 main 메서드를 보고합니다. 익명 및 로컬 클래스는 완전히 정규화된 이름이 없으므로 실행할 수 없습니다.

'main'이라는 이름의 메서드는 애플리케이션 진입점이 되기 때문에 그러한 메서드는 혼란을 일으킬 수 있습니다.

예:


  class Main {
    void main(String[] args) {} // 'public static' 제어자가 없기 때문에 경고가 발생합니다
  }

그러한 메서드의 이름을 변경하는 빠른 수정은 에디터에서만 사용할 수 있습니다.