could not target platform 'java se 11' using tool chain 'jdk 8 (1.8)' gradlew
AWS EC2 에 올린 인스턴스에 ssh 연결하여 테스트 코드를 돌렸는데, 위와 같은 오류를 만났다.
[ec2-user@ip-...]$ ./gradlew test
오류 내용은 너무나도 명백해서 상황에 맞게, 편한 방법으로 수정하면 된다.
- JDK 11 문법을 사용하지 않은 레포지토리라면 target version 을 1.8 로 변경한다.
- JDK 11 문법을 사용하거나 11 버전으로 테스트를 돌리고 싶다면, JDK 11 로 버전을 올려주자.
1번
- build.gradle 파일에서 아래 부분을 1.8 버전에 맞춰 수정하자.
- sourceCompatibility = 1.8
- targetCompatibility = 1.8
- 다시 테스트를 돌려보자.
- $ ./gradlew test
- 성공
2번
- 정말로 jdk 버전이 1.8인지 확인해보자.
- $ java -version
- $ javac -version
- jdk 버전을 1.11 로 올리자.
- /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- 패키지 매니저인 homebrew 를 먼저 설치, (명령어 확인 -> 🔗)
- $ brew install openjdk@11
- /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- 다시 테스트를 돌려보자.
- $ ./gradlew test
참고로, 터미널이 아니라 IDE 를 사용하는 경우 설정에서 아래와 같이 변경하자.
반응형
댓글