사이드 프로젝트하면서 gradle build해서 jar를 생성하려는데
jvm을 최소 17은 써야 하는데 현재 11이라서 계속 빌드에 실패했다.
처음에는 열심히 구글링해서 터미널에 아래 순서대로 입력했다. (참고로 내 환경은 mac이다.)
nano ~/.zshrc 또는 nano ~/.bash_profile
창이 뜨면 내용에 아래를 복사+붙여넣기
export JAVA_HOME=$(/usr/libexec/java_home -v 17)
export PATH=$JAVA_HOME/bin:$PATH
파일을 저장해야 해서 control + O
누르고 enter
입력
🔥 맥 기준으로 control이다. ^O 이거.
마지막으로 창 나오려면 control + X
source ~/.zshrc 또는 source ~/.bash_profile
나의 경우 ~./zshrc
not found 였음;; (왜지)
자 그렇게 해서 java --version
을 다시 입력하면 버전이 잘 바뀌어 있어서 다시 ./gradlew build
를 시도했는데?
왜 너는 계속 자바 11만 바라보는 거니? 정말 기가 멕힌다 얘;;
터미널에서 창 닫고 다시 키고 java --version
을 쳐봤더니?
... 어? 너도 왜 11로 돌아갔니?...
아까 확인했을 때 17이었던건 분명했으니 과거의 내가 맥에 설치한 다른 것이 문제가 아닐까? 판단해서 wrtn한테 다르게 물어봤더니
- JDK 설치 관리 도구
SDKMAN! 또는 Homebrew와 같은 도구: Java 버전을 관리하는 도구를 사용하고 있다면, 이 도구가 설정된 기본 Java 버전을 자동으로 변경할 수 있습니다. 예를 들어, SDKMAN!를 사용할 경우 sdk use java 11 명령어가 실행될 수 있습니다.
라고 하더라.
일단 나는 인텔리제이를 사용하고 있었고 인텔리제이의 project structure
의 자바 버전을 모두 내가 설치한 jdk 17
인 것을 몇번이고 확인했으니 이건 아니고,
그러고 보니 내가 옛날에 java 관리하겠다고 sdk를 깔았던 기억이 있다.
homebrew에서 java 17 깔려고 했는데 모종의 에러로 실패함. 그럼 남은 바짓가락은 sdk뿐이다.
현재 sdk update 한번 하고
왜 보고 적었는데 또 17.0.13이 없대;; sdk list java
했을 때 맨 우측 탭에 identifier
칸이 있는데 그걸 적어야 함;;
sdk install java 17.0.13-amzn
그러면 얘가 물어본다. "너 17 디폴트로 쓸거임?" 난 y라고 치면
이렇게 자바 버전이 바뀐다. 가장 중요한건 gradle이니 다시 확인해보면
드디어! 17을 바라보고 있음을 확인한다.
환경변수 설정이 기본이긴 한데 그걸로도 해결이 안된다면 내가 기존에 관리자 도구 (sdk, brew) 를 설치했는 지 확인하고 얘네가 우선순위를 차지하는 가능성이 있다는 것을 몸소;; 겪었다....
다음에는 안 이랬으면 좋겠다. 빌드하려다가 1시간 넘게 얘랑 씨름했다;;;