IntelliJ로 개발하던 도중 "No JDK specified for module"이 뜨면서 코드 하이라이팅이 정상적으로 동작하지 않는 경우가 있습니다. 다음은 이러한 오류의 발생 원인과 해결 방법을 정리한 것입니다.
발생 원인
이러한 문제는 주로 다음과 같은 경우에 발생합니다.
-
IntelliJ 버전 업데이트의 경우
-
프로젝트를 새로 불러왔을 경우
-
기존 JDK 설정에 변동이 있을 경우
해결 방법
IntelliJ 버전 업데이트를 진행한 경우
상단 메뉴를 보니 Jetbrains Toolbox가 업데이트가 있는 것을 확인했습니다. 업데이트 표시가 신경쓰인 당신은 무심코 업데이트 버튼을 눌렀습니다. 업데이트 전에는 잘 작동하던 코드 하이라이팅이 제대로 작동하지 않고는 합니다. 이처럼 IDE 관련 업데이트는 안정성이 확보되었을 때 하는 것을 추천합니다.
-
IDE 설정 쪽 문제인지 확인하기 위해
./gradlew build
를 실행하고 빌드가 잘 돌아가는지 확인합니다. -
열고 있는 프로젝트 창을 닫습니다.
-
IntelliJ를 처음 열었을 때 뜨는 창에서
Open or Import
버튼을 누릅니다. -
평소 하던대로 열고자 하는 프로젝트의
build.gradle
을 선택하여 프로젝트를 엽니다.
Project Settings에서 JDK를 인식하지 못하는 경우
-
CMD + ;
을 눌러Project Structure
창을 엽니다. -
이용하고자 하는 SDK를 추가하시거나, 기존 정보를 수정해 주세요.
잠깐, 이용중인 JDK의 경로를 못 찾으시겠다면
-
java -version
으로$JAVA_HOME
을 확인합니다. -
which java
를 입력하여 경로를 확인합니다. -
OpenJDK를 brew를 이용해 설치했을 경우
brew ls adoptopenjdk
를 터미널에 입력하여 경로를 확인합니다.
이제 확인한 경로로 IDE 설정을 수정해주시면 됩니다.
-
-
Modules
기본 JDK를 설정해 줍니다.
`Module SDK` 항목을 아까 설정해 두었던 SDK로 지정하시고 적용 및 OK를 누르시면 끝!
프로젝트를 새로 불러왔을 경우
다음은 프로젝트를 새로 불러오고 나서 하이라이팅이 정상적으로 작동하지 않을 때 해결 방법입니다.
-
먼저 좌측 상단 메뉴에서
File -> Invalidate Caches / Restart
를 누릅니다. -
Invalidate and Restart
를 누릅니다.누르면 창이 다시 실행되고 Indexing을 진행합니다. 조금 기다려줍시다.
이 방법은 gradle
플러그인이 제대로 작동하지 않거나 의존성이 불러와지지 않을 때 이용해도 대부분의 문제를 해결할 수 있습니다.
마치며
IntelliJ는 잘 활용하면 생산성이 배가 되는 개발 도구지만 가끔씩 문제가 생길 때도 있으니 항상 유의해야 합니다. 부족한 글이지만 읽어주셔서 감사하고, 오류를 잘 해결하셨기를 바라며 이만 글을 마칩니다.