< 내 상황 >
java -version // 11
./gradlew --version // 제목과 똑같은 에러가 발생하며 버전을 확인할 수 없음.
이 경우, Java 버전을 1.8로 낮추면 해결된다.
sudo apt-get install openjdk-8-jre
sudo update-alternatives --config java
java -version // openjdk version "1.8..."
하지만 이렇게 한 뒤, ./gradlew clean build를 수행하면 또 에러가 날 수 있다. (왜냐면 나는 났기 때문!😞)
Execution failed for task ':compileJava'.
Could not find tools.jar. Please check that ..
그 경우에는 우선 자바가 바라보고 있는 경로를 확인해보고 변경하면 된다.
우선 내 경우에는 다음과 같이 설정되어있었다.
[명령] - [결과]로 작성하겠습니다.
[whereis java] - [java: /usr/bin/java /usr/share/java /usr/share/man/man1/java.1.gz]
[ls -l /usr/bin/java] - [/usr/bin/java -> /etc/alternatives/java]
[ls -l /etc/alternatives/java] - [/etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java]
[update-alternatives --list javac] - [/usr/lib/jvm/java-11-openjdk-amd64/bin/javac]
결론적으로는 경로가 /usr/bin/jvm/java-8-openjdk-amd64를 보는 것이 아니라, jre를 보고 있었다.
export JAVA_HOME=$(dirname $(dirname $(update-alternatives --list javac)))
악! 근데 이렇게 했을 때 java-11을 바라보게 된다. 이럴 때엔 그냥 export JAVA_HOME="usr/bin/jvm/java-8-openjdk-amd64"로 설정해주면 된다.
혹시 이렇게 했는데도 에러가 난다면 sudo apt-install openjdk-8-jdk를 설치하시길..