ㅇ.ㅇ
[Build] CreateProcess error=2, 지정된 파일을 찾을 수 없습니다 본문
상황
Maven 프로젝트를 진행하다가 최근 Gradle을 사용하는 다른 프로젝트를 IntelliJ IDEA에서 실행하였다. 이후 다시 Maven 프로젝트를 실행하려고 할 때, 아래와 같은 에러가 발생하였다.
에러 내용
Cannot run program "{경로}\.gradle\jdks\jdk-11.0.24+8\bin\java.exe" (in directory "{경 로}\AppData\Local\JetBrains\IntelliJIdea2023.3\compile-server"): CreateProcess error=2, 지정된 파일을 찾을 수 없습니다
에러 파악
Maven 프로젝트는 JDK 8을 사용하는데, Gradle 프로젝트 실행 후 위와 같은 에러가 발생한 점이 이상했다. 에러 메시지를 보니, IntelliJ IDEA가 Maven 프로젝트에서도 Gradle의 JDK 설정(jdk-11.0.24+8)을 참조하려는 것을 알 수 있었고, 최근 Gradle 및 JDK 11을 사용하는 다른 프로젝트를 실행하면서 IntelliJ IDEA의 설정이 덮어쓰여진 것으로 판단되었다.
(시행착오 및 확인 과정..)
다음과 같은 방법으로 문제를 파악하고 해결을 시도하였다.
- Maven Importer의 JDK 확인
- Settings > Build, Execution, Deployment > Build Tools > Maven > Importing
- JDK for importer 설정이 올바른 JDK(예: JDK 8)로 설정되어 있는지 확인.
- Settings > Build, Execution, Deployment > Build Tools > Maven > Importing
- Project Structure 확인
- File > Project Structure > Project Settings > Project
- Project SDK와 Language Level이 Maven 프로젝트에서 사용하는 JDK 8로 올바르게 설정되어 있는지 확인.
- File > Project Structure > Project Settings > Project
- 환경 변수 확인
- 터미널에서 아래 명령어를 실행하여 JAVA_HOME이 JDK 8 경로로 설정되어 있는지 확인.
- echo %JAVA_HOME%
위 세 가지 방법을 통해 확인한 결과, 모든 설정은 정상적으로 올바르게 구성되어 있었다. 하지만 여전히 에러는 해결되지 않았다.
해결 방법
에러 메시지에서 참조하는 \{경로}\.gradle\jdks 디렉토리가 문제의 원인일 것 같아, 해당 디렉토리를 삭제하는 방법을 시도하였다. 그리고 IntelliJ IDEA 재시작 후 Maven 프로젝트를 다시 실행한 결과, 문제 없이 정상적으로 빌드가 수행되었다!
Gradle과 Maven을 동시에 사용하는 환경에서는 Intellij 설정이 충돌할 수 있는 것 같다. 게다가 각기 다른 JDK를 사용하기 때문에 더욱 그런 것 같다. 다음부터 더욱 주의.