• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

launch4j 파일로 jar을 exe 파일로 변경하였으나 실행이 되지 않습니다.

22.12.31 05:21 작성 조회수 1.56k

0

오류: 기본 클래스 YoutubeUI을(를) 로드하는 중 LinkageError가 발생했습니다.

java.lang.UnsupportedClassVersionError: YoutubeUI has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0

 

버전 문제로 보였으나 java version "17.0.2" 확인되었으며 버전이 61인 것까지는 맞습니다.

위와 같은 오류로 인해 실행이 되지 않습니다. 버전문제로 에러문구가 나타나지만 버전 확인 결과 버전 문제는 아닌 것 같습니다.

그리고 클래스 YoutubeApp_Db가 아닌 이유는 제가 클래스 파일 이름을 YoutubeUI로 정해놓아서 그렇습니다.

.exe 파일 만들기전 이클립스에서 실행은 모두 정상작동하였습니다만 launch4j에서 exe 변경후 실행이 되지 않습니다.

도와주세요 ㅠ,ㅠ

 

답변 1

답변을 작성해보세요.

1

두 개의 자바버전을 사용하고 계신 것 같습니다.

java 17 => "61", java 11 => "55"

java 11버전을 지우고, java 17로 다시 설치해보세요.

그리고, 아래를 참고하세요.

java 17(zulu사용하지 않음)과 javafx 17, eclipse 최신버전을 다운받아서 테스트한 것입니다.

1.java17과 javafx17을 사용한, 프로젝트 왼쪽 트리구조 - "Test.java"와 "module-info.java"파일만 있는 상태입니다.

image

2."Test.java"파일내부를 아래와 같이 작성하였습니다.

image

3."module-info.java"파일내부는 아래와 같이 작성하였습니다.

image

4.launch4j 옵션에서 "Build JRE path"옵션을 java17이 있는 폴더로 지정했고, "JVM options"옵션은 javafx17의 lib폴더경로를 포함해서 아래와 같이 작성하였습니다. (본인에게 맞는 폴더경로로 설정해 주어야 합니다.)

--module-path "C:\Program Files\javafxLibrary\javafx-sdk-17\lib"
--add-modules javafx.controls,javafx.fxml

image

문제가 해결되지 않는다면, 에러창과 함께 프로젝트 왼쪽 트리구조를 펼쳐서 스크린샷을 첨부해주세요.

정말 꼼꼼한 설명해주셔서 감사합니다 덕분에 해결하였습니다 ^_^/