Blog

[Java]38 javaLauncher Toolchain 관련 트러블슈팅(Gradle, JDK간의 문제)

Category
Author
Tags
PinOnMain
1 more property
아침부터 코딩테스트 문제를 통해서 Java 기본기를 꾸준히 공부하기 위해서 1시간씩 투자하고 있다. 그런데 갑자기 오늘은 생각지도 못한 오류가 나타났다. 우선 Solution 클래스와 실행부인 Main메소드를 구성하고 빈값이라도 전달이 잘 되는지 확인하기 위해서 실행을 했는데 아래와 같은 오류 메시지가 나타났다.
Toolchain from executable property does not match toolchain from javaLauncher property
한글로 검색이 잘 안되는 문제가 발생했다. StackOverFlow에서 일부 동일한 증상을 가진 사람들이 나타났다. 일단 Run과정에서 문제가 발생했으며 발생 시점은 build 컴파일 과정에서 해당 오류가 발생했다. javaLauncher와 관련 된 것으로 보아 SDK(JDK)의 문제일 가능성이 높았다.
우선 프로젝트에서 JDK를 올바르게 설치해뒀고 경로를 설정해두었었기 때문에 뭔가 변경점이 있었는지 File>Project Structure에서 JDK버전이 올바르게 17 Homebrew로 설정 되어있는지부터 확인했다.
또한 프로젝트가 올바른 라이브러리를 주입받고 외부 라이브러리를 보유하고 있는지 확인했다. Project의 우측 External Libraries에서 JDK를 포함한 여러 외부 라이브러리들을 확인 할 수 있다. 그중 JDK는 17 (Homebrew)로 정확하게 설치되어 있었다.
나는 이 문제에 대한 추가적인 해결을 찾기 위해 ChatGPT에게 진단을 요구했다. 결과,
ChatGPT와의 상담 내용
우선 안내된 내용에 따라 하나씩 정보를 확인하고 수정했다. 결과적으로 어떠한 업데이트가 있었거나, 다른 프로젝트를 동시에 열고 닫는 과정에서 무언가 빌드가 꼬인 상황으로 보여진다.
기본적인 빌드, 의존성 재빌드 등은 멀쩡히 작동했지만 여전히 main메소드의 호출에 실패했다.
여기서 가장 의미있던 과정은 프로젝트 설정 재구성: IntelliJ IDEA에서 "File" > "Invalidate Caches / Restart"를 선택하여 캐시를 재구성하고 IntelliJ IDEA를 다시 시작하십시오. 이 과정이다.
빌드 캐시를 삭제하고 새로운 버전들을 다운 받기로 했다. 의존성을 삭제하고 다시 받는 것과 마찬가지기 때문에, 간편하게 처리 할 수 있었다. 이전에 Gradle 버전을 최신 버전으로 업데이트 하라했기 때문에 Gradle의 공식 홈페이지에서 최신버전이 8.3인것을 확인했다. 따라서 build.gradle 파일에서 해당 부분을 8.3버전으로 변경했다.
wrapper { gradleVersion = '8.3' }
Java
복사
이후로는 정상적으로 작동한다.
문제 해결 방법에 빠르게 진단하고 접근하는 방법들을 배워나가고 있는 것 같다.