본문 바로가기
JAVA/JAVA Tip

JavaFX 설치 후 프로젝트 실행 오류

by MonoSoft 2022. 10. 12.
728x90
반응형

JavaFX 설치 후 프로젝트 실행 오류 

 

새로 JavaFX 프로젝트 생성하고 Package Explorer에 빨간색으로 표시되며,

Run 후...

Error: Unable to initialize main class application.Main

Caused by: java.lang.NoClassDefFoundError: Stage

진짜 짜증 ㅠㅠ

에러시 처리사항

자바 jdk 13.0.2 를 설치중이고...

프로젝트 신규 생성시 Package Explorer에 JavaFX SDK가 자동등록이 안된다.

별짓을 다해도 안된다...

찾다 찾다 2일째.....

알아냈다...

아마도 알아본결과 11 이후 부터 이런 오류가 발생했나보다...

별도로 처리해줘야 JavaFX를 사용할수있을거 같다..

https://www.youtube.com/watch?v=oVn6_2KuYbM

 

1.JDK 설치

2.이클립스 설치

3.Java 실행

4.help - Eclipse Marketplace 실행

5. fx 로 검색 후 설치

6. javaFX project 생성

7.생성 옵션 시 jre 13.0.1인지 체크 없으면 새로 추가 후 설정 후 생성

8.프로젝트 빨간X 오류가뜬다.

------------------------------------------

해결방안

1.https://openjfx.io/index.html 사이트에 JavaFX OS에 맞게 다운로드

2.적당한 폴더 경로에 압출 풀기(폴더절대경로설정해야됨)

3.이클립스 - Window - Preferences 실행

4. Java - Build Path - User Libraries 선택

5. [New] 클릭

6. 새로운 이름(JavaFX) 입력

7. 추가된거 클릭 후 Add External JARs.. 클릭 후

압축 풀어놓은곳으로 가서

javafx-sdk-11.0.2\lib 폴더안에 있는거 모조리 열기

8. 저장 후 닫기

9. 메인 프로젝트명에서 마우스 오른쪽

Build Path - Add Libraries.. - User Library 클릭 후

추가한 라이러리 추가 하면 해당 프로젝트에 추가됨

10. Rus 돌려본다...

에러터짐...;;

11. 셋팅이 필요하다.

12. 항상 메인 프로젝트 명을 더블클릭해서 명시해준다.

13. 상단 Run 밑화살표 누른후 - Run Configurations...클릭

14. Java Applaction - Main 클릭

15. 오른쪽화면 탭에 Arguments 탭 클릭

16. VM arguments 입력란에

--module-path "압축푼 경로" --add-modules=javafx.controls,javafx.fxml

17.다시 런~!!! 해결~!!

package application;

import javafx.application.Application;

import javafx.stage.Stage;

import javafx.scene.Scene;

import javafx.scene.control.Button;

import javafx.scene.layout.BorderPane;

import javafx.scene.layout.Pane;

public class Main extends Application {

@Override

public void start(Stage primaryStage) {

try {

//BorderPane root = new BorderPane();

Pane p = new Pane();

Scene scene = new Scene(p,400,400);

Button b = new Button();

b.setLayoutX(100);

b.setLayoutY(100);

b.setText("Hello");

p.getChildren().add(b);

scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());

primaryStage.setScene(scene);

primaryStage.show();

} catch(Exception e) {

e.printStackTrace();

}

}

public static void main(String[] args) {

launch(args);

}

}

테스트 후 종료

728x90
반응형

'JAVA > JAVA Tip' 카테고리의 다른 글

이클립스에서 자바프로젝트 열기  (0) 2022.10.19
[JavaFX] 리듬게임 만들기  (0) 2022.10.18
[JavaFX] 채팅프로그램 개발  (0) 2022.10.17
이클립스 설치 방법  (0) 2022.10.11
JDK 설치 방법  (0) 2022.10.07

댓글