본문 바로가기
Computer Science/Errors

[Error Code] Error: Main method not found in class Rectangle, please define the main method as: public static void main(String[] args)or a JavaFX application class must extend javafx.application.Application

by Henry Cho 2024. 2. 5.
728x90

Error: Main method not found in class Rectangle, please define the main method as:
   public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application


# JavaFX application class error

위와 같은 에러가 발생하는 이유는 사실 여러가지 이유가 있다. 따라서 IDE 문제이거나 자바 설치에 대한 문제가 아닐까 하고 시간을 허비하는 일이 생기곤 하는데 사실 매우 간단한 원인으로 문제가 발생할 수 있다. JavaFX application은 public class 선언이 제대로 되어있지 않았을 때도 발생할 수 있기 때문에 이 부분을 코드에서 먼저 확인해 주는 것이 좋다.

 

예시를 들기 위해서 최근에 자바를 배우는 브로한테 질문을 받았던 상자 크기 예제코드를 가져와서 일부러 에러가 발생하게끔 수정해주었다. Figure 1에 나와있는 예제코드를 보면 문제가 없어 보이지만 실제로 컴파일 시에 위와 같은 JavaFX application class error가 발생한다. 그 이유는 메인 메서드가 TestRectangle에 있음에도 public  class는 Rectangle로 지정이 되어 있기 때문이다. 따라서 이런 경우 Public class를 맞게끔 수정해 주면 문제가 간단하게 해결된다.

Figure 1. Example code 1

 

Figure 2처럼 public class를 올바르게 설정해주고 나면 당연히 해당 자바 파일의 파일명도 바뀐 클래스 명으로 바꿔줘야 한다. 그렇지 않으면 file name error 문제가 새롭게 발생할 수 있기 때문에 public class에 맞춰서 파일명도 바꿔주면 에러가 해결된다.

 

Figure 2. Example code 2

 


 

728x90

댓글