체뚱로그

[Java] Eclipse 프로젝트 JavaFX 환경 설정하기 본문

Language/Java

[Java] Eclipse 프로젝트 JavaFX 환경 설정하기

sooyeoniya 2023. 11. 28. 23:29

처음에는 그냥 아래 윈도우 JavaFX 설치 매뉴얼처럼 https://openjfx.io/ 이 사이트에서 MacOS 용으로 JavaFX SDK 다운 받아서 똑같이 하면 되는줄 알았는데 전혀 안됐다..

 

 

애초에 나는 자바 자체도 이클립스 설치할 때 자동으로 Java JRE 17이 다운 받아졌기 때문에 윈도우처럼 환경변수 설정같은 것도 따로 해주지 않았다. 그래서 맥은 또 다른 방식이 있겠거니 하고 구글링을 통해 JavaFX를 다른 방식으로 설치를 해보았다. 

 

그래서 내가 아래 3가지 방법으로 모두 해봤는데 전부 다 자꾸 에러떴다;;

하 ... 진짜 다른 할 일도 많은데 , 지금이것만 삽질 3시간째 하고 있는데 안돼서 그냥 울고싶다,,

 

1. 일단 아래의 공식 홈페이지 IDE 설치 방법을 그대로 따라해서 해봤는데 안됐다. 그냥 계속 오류났다... ㅎ

https://openjfx.io/openjfx-docs/ 

 

그 다음에는 아래 두 개의 블로그를 참고하여 설치해줬다.

https://m.blog.naver.com/tnwlso7/222103233373

https://overpassion.tistory.com/65

 

먼저 다음 둘 중 하나의 방법으로 efxclipse를 설치해주면 된다.

2. Help > Eclipse Marketplace 에 들어가서 JavaFX 검색해서 가장 먼저 뜨는 e(fx)clipse를 설치해준다. 

3.  Help > Install New Software 에 들어가 Work with에 아래의 다운로드 URL을 붙여 넣는다.

 

efxclipse를 설치했으면 여기서부터는 동일하게 적용해야 한다.

 

다음 사이트에서 MacOS용 JavaFX Scene Builder를 깔아준다.

https://www.oracle.com/java/technologies/javafxscenebuilder-1x-archive-downloads.html

 

JavaFX Scene Builder 1.x Archive

 

www.oracle.com

 

다시 이클립스로 돌아와서 Eclipse > Settings 를 누르면 그 안에 JavaFX라는 목록이 있는데 클릭해준다.

위와 같은 화면에서 SceneBuilder executable 이라는 곳에 Browse를 클릭하여 방금 설치한 JavaFX Scene Builder 경로를 넣어준다.

 

그리고 JavaFX 설치가 잘 되었는지 확인하기 위해 새 프로젝트를 생성하였다. 아래와 같이 JavaFX > JavaFX Project를 누르면 된다.

근데 안된다..

그래서 설마 여기의 JavaFX 11+ SDK에 sdk 를 다운받아 경로를 넣어줘야 하나 하고 했는데 역시 안됐다. 그리고 이 경로를 lib 경로로 바꿔서 했는데도 안됐다...

 

하 진짜 울고싶다...

 

계속 다음과 같은 에러가 떴다.

 

위 에러를 찾아보니

 

https://itecnote.com/tecnote/javafx-graphics-device-initialization-failed-for-es2-sw/

https://www.reddit.com/r/learnjava/comments/qqcquw/javafx_on_macos_on_eclipse_is_showing_a_graphics/

https://www.reddit.com/r/eclipse/comments/qqcjr1/javafx_on_macos_is_showing_a_graphics_device/

https://stackoverflow.com/questions/53467499/javafx-os-x-graphics-device-initialization-failed-for-es2-sw

https://stackoverflow.com/questions/72791609/java-fx-error-initialiazing-quantumreader-mac-m1

https://itecnote.com/tecnote/javafx-os-x-graphics-device-initialization-failed-for-es2-sw/

 

흠... ㅎㅎ?

 

다른 방법을 시도해봤다..

나보다 먼저 삽질한 맥북 쓰는 친구가 있었는데 그 친구도 삽질하다가 아래 방법으로 JRE 변경해서 됐다고 했다.

그래서 나도? ㅎㅎ 아래 사이트를 참고하여.......

https://velog.io/@jhyeom1545/M1-%EB%A7%A5%EB%B6%81%EC%97%90%EC%84%9C-JavaFX%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0

 

[오류 해결기] M1 맥북에서 JavaFX사용하기

쓰고싶다 JavaFX

velog.io

 

먼저 아래 사이트에 들어가 zulu 11.0.21 버전을 zip으로 다운 받아줬다.


https://www.azul.com/downloads/?version=java-11-lts&os=macos&architecture=arm-64-bit&package=jdk-fx#zulu

 

Azul Downloads

No matter the size of your company, Azul offers competitive pricing options to fit your needs, your budget, and your ambition.

www.azul.com

 

그리고 Eclipse > Settings > Java > Installed JREs 에 들어가 Add를 눌러준다.

 

MacOS X VM을 눌러준다.

 

다음과 같이 아까 설치한 폴더를 디렉토리 연결해주면 된다.

 

zulu로 선택하고 적용해준다.

 

ㅎㅎ

안된다... 자꾸 똑같은 에러 뜬다...

 

이 오류를 대체 어떻게 해결해야할지 모르겠어서 그냥 삽질하다가 그렇게 5시간이 지나버렸다 ㅎ

그러다가 그냥 문득 JRE 버전 오류인가 싶어서 그냥 내가 테스트하고 있던 프로젝트의 JavaSE-17 (JRE [17.0.9])로 되어있던 부분을 눌러서 JavaSE-11 (zulu11.68.17)로 바꾸어서 실행해보았다.

 

ㅎㅎ 됐다..

고닥교 친구의 블로그 최애짤

 

아니 계속 똑같이 했었는데 왜 안됐지?? Eclipse > Settings > Java > Installed JREs 에서 JRE도 바꿔줬는데?!

 

싶었는데, 다시보니까 처음에 프로젝트 생성할 때 아래와 같이 JRE 부분이 기존 그대로 설정이 되어있었고, 난 그냥 평소처럼 이 부분을 무시하고 지나가서 그랬던 것 같다..

 

처음 프로젝트 생성할 때 이 부분을 다음과 같이 바꿔주고 실행하면 된다. 여기서 JavaSE-11이 나는 zulu11.68.17로 되어있어서 아래 세 개의 선택지 중 아무거나 선택해서 썼다.

 

이게 zulu 가 macOS에서 JavaFX를 지원해주기 때문에 가능한 것이라고 한다. 

https://stackoverflow.com/questions/72791609/java-fx-error-initialiazing-quantumreader-mac-m1

 

Java FX, error initialiazing QuantumReader mac m1

I have a problem running my application with JavaFX on mac M1. Intellij screenshot Even if I have downloaded the JavaFX SDK (aarch64 version) from the website, added as VM option in IntelliJ --mod...

stackoverflow.com

 

단 여기서 외부 라이브러리로 JavaFX를 가져오거나 모듈 경로 설정이 되어있으면 충돌나서 안된다고 한다.

다음과 같이 초기화해준다.

 

1. Run As > Run Configurations > Arguments > VM arguments

 

2. Build Path > Configure Build Path > Libraries

JRE System Library 외에 JavaFX 관련된 라이브러리 모두 삭제할 것.

 

'Language > Java' 카테고리의 다른 글

[Java] Intellij에서 Java 버전 변경  (0) 2023.11.06
[Java] Eclipse에서 Java 버전 변경 오류  (0) 2023.11.06
[Java] Window Java 버전 변경  (0) 2023.11.06
Comments