본문 바로가기

기타

IntelliJ에서 Gradle 빌드시 "Java home is different" 에러 해결

반응형

문제 상황

테스트 해보고 싶은게 있어 Gradle 프로젝트를 만들었다.
간단히 gradle init 명령어를 실행한 후 Spring Initializr에서 생성한 프로젝트들을 Multi Project 구조로 만들 계획이었다.

그런데 Gradle 프로젝트를 IntelliJ로 불러와 Reload를 하자 실패한다.
로그를 보려고 "상단 탭 > Help > Show Log In Finder"를 클릭하여 로그 폴더를 열고, idea.log 파일을 열어 아래의 에러를 확인했다.

Caused by: org.gradle.launcher.daemon.client.DaemonConnectionException: The newly created daemon process has a different context than expected.
It won't be possible to reconnect to this daemon. Context mismatch: 
Java home is different.

Wanted: DefaultDaemonContext[uid=null,javaHome=/Users/hyunto/.sdkman/candidates/java/current,daemonRegistryDir=/Users/hyunto/.gradle/daemon,pid=42301,idleTimeout=null,priority=NORMAL,daemonOpts=-XX:MaxMetaspaceSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xms256m,-Xmx512m,-Dfile.encoding=UTF-8,-Duser.country=KR,-Duser.language=ko,-Duser.variant]
Actual: DefaultDaemonContext[uid=ac217b0e-68c1-47c7-95a0-48477a7f44b6,javaHome=/Users/hyunto/.sdkman/candidates/java/8.0.275.fx-zulu/zulu-8.jdk/Contents/Home,daemonRegistryDir=/Users/hyunto/.gradle/daemon,pid=42880,idleTimeout=10800000,priority=NORMAL,daemonOpts=-XX:MaxMetaspaceSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xms256m,-Xmx512m,-Dfile.encoding=UTF-8,-Duser.country=KR,-Duser.language=ko,-Duser.variant]

해결 방법 조사

구글 검색을 해보니 몇 가지 해결방안이 나온다.

  1. JDK를 다시 설치하라
    → 나의 경우 효과가 없었다. 그냥 최신 버전으로 업그레이드 한 것으로 위안을 삼는다...
  2. IntelliJ에서 Project Structure의 Project SDK 설정과 Preferences의 Gradle 설정에서 Gradle JVM 설정을 맞춰준다.
    → 이 방법만으로 해결은 되지 않았다. 그러나 Project SDK와 Gradle JVM은 맞추는 것이 좋아 보인다.

고민

에러 로그를 보면 Wanted와 Actual의 javaHome 경로가 다른 것이 보인다.
Wanted의 경로를 Actual로 바꿔주면 되지 않을까?

  • Wanted : "해결 방법 조사 2번"의 설정을 바꾸면 이 값이 바뀐다.
  • Actual : 실제로 Java를 검색하려는 경로이다.

해결

나의 경우 이 방법으로 해결이 되었다.
나처럼 쓸데없는 삽질을 하는 사람이 없기를 바라면서 공유해본다.

  1. "Project Structure > Platform Settings > SDKs"로 들어가서 로그의 Actual - javaHome 경로를 SDK로 추가하자 (javaHome : /Users/hyunto/.sdkman/candidates/java/8.0.275.fx-zulu/zulu-8.jdk/Contents/Home)
  2. "Project Structure > Project Settings > Project"에서 Project SDK를 방금 추가한 SDK로 설정하자
  3. "Preferences > Build, Execution, Deployment > Build Tools > Gradle"로 들어가 Gradle JVM 값을 Project SDK와 같은 값으로 설정하자 
반응형

'기타' 카테고리의 다른 글

IntelliJ Project View에서 경로(path)를 숨기는 방법  (0) 2020.09.29