터미널에서 build해서 실행 오류 해결하기
./gradlew clean build 입력했더니 아래와 같이 에러가 발생했다. >> [TIL] - 95일차 (모험 4일차)
이 전에도 이런 적이 있어서 그대로 진행했는데 오류가 떴다.
그래서 이유를 몰라 튜터님께 오전에 질문을 드렸지만 내가 에러를 해결한 지금도 답이 없으셨다.
어쨌든 JDK를 8로 수정해서 실행을 한 후 H2 서버를 켰더니 실행이 잘 되었다.
(서버를 안켜서 그런 것이었다.)
그런데 문득 이런생각이 들었다.
jdk 1.8로 하면 문제가 없는데 왜 11로 하면 에러가 뜨는걸까?
계속 고쳐줘야하는 걸까?
그래서 다시 내가 이전에 참고했던 블로그를 보면서 이 에러가 뜨는 원인을 다시 보게 되었다.
위 에러는 JDK 버전과 project language level이 달라서 생기는 에러이다.
그리고 내가 Project SDK와 Project language level을 11로 하면 에러가 뜬다.
구글링을 해봤다가 어떤 글에서 나와 같이 jdk 1.8로 하면 문제가 없는데 11로 하면 에러가 뜬다고 했다.
그 글에 관한 답변은 나에게 도움이 되지 않았지만 질문자의 JAVA_HOME 이라는 단어를 보고
환경변수 설정이 떠올랐다.
확인을 해보니 역시나 8이 기본세팅이었고 그래서 에러가 뜨는 것이었다는 것을 알았다.
처음에는 변수 이름이 JAVA_HOME 이 있어서 JAVA_HOME11로 이름을 설정하고 (새로만들기)
변수 이름 CLASSPATH도 변수 값에 %JAVA_HOME11%\lib 로 설정하고 (새로만들기)
PATH에는 %JAVA_HOME11%\bin 로 설정했다. (PATH 클릭 → 편집 클릭 후에 새로만들기)
* 변수 값 : %JAVA_HOME%\bin
잘 적용이 되었는지 cmd로 확인해 보았고 java -version과 javac -version 모두 11.0.10으로 떴다.
그런데 git bash에서 ./gradlew clean build 를 입력했을 때 에러가 떠서
build를 다시 했고 환경 변수에서 CLASSPATH를 삭제 하고
JAVA_HOME11에서 JAVA_HOME으로 변경하고
기존에 있던 JAVA_HOME은 JAVA_HOM로 변경했다.
그랬더니 성공적으로 build가 완료되었다.
CLASSPATH를 삭제해도 잘 실행이 되는 걸 보면 기존 이름과 겹쳐서 실행이 되는게 아닐까?
이제는 project structure에서 jdk 1.8로 안고쳐도 된다!!!
[관련 자료]
113일차 - 동작확인(jar build, query 파라미터)
[출처]
자바(JAVA) 11 설치 및 환경설정 | 자바 11 환경 변수
- 모험가 haedal
'TIL' 카테고리의 다른 글
115일차(모험 24일차) - 모의 면접, 백엔드 프론트 연결 (0) | 2022.01.06 |
---|---|
114일차(모험 23일차) (0) | 2022.01.05 |
110일차 (모험 19일차) - 처음이자 마지막 (0) | 2021.12.31 |
109일차(모험 18일차) (0) | 2021.12.31 |
108일차(모험 17일차) - OOP란? & SOLID (0) | 2021.12.30 |