STUDY/ECT

Mac에서 Java 여러버전 설치 (homebrew) + jenv를 통해 관리하기 + java: invalid source release: 11

개미606 2020. 12. 22. 10:23

현재 Java 8이 설치되어있는데, 공부용으로 Java 11을 설치하려고 한다.

 

1. homebrew 업데이트

$ brew update

 

2. java 설치

 

특정 버전을 설치하려면 버전을 명시하고, 설치일로부터 가장 최신버전을 설치하려면 그냥 adoptopenjdk만 입력

# 최신버전 인스톨
$ brew install --cask adoptopenjdk

# 특정버전 인스톨
$ brew install --cask adoptopenjdk11

 

3. 확인

 

4. jenv설치

Java버전을 관리해주는 패키지라고 함.

 

본인 터미널이 무엇인지 확인을 해보고, 맞는 설정 파일에 해당 설정을 추가한다.

(MacOS는 요즘 zsh가 기본 이다)

$ echo $SHELL

설정파일에 추가한다!

## bash일 경우
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(jenv init -)"' >> ~/.bash_profile

## zsh일 경우
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(jenv init -)"' >> ~/.zshrc

그리고 변경사항을 저장

$ source ~/.zshrc

5. jenv에 관리항목 추가

본인 Java 버전에 맞게 입력해야 함.

 

글로벌 설정 - 해당 버전을 기본으로 사용함

 

디렉토리별 버전 설정해주는 방법

프로젝트 디렉토리 생성 후 그 디렉토리에서 이 명령어를 실행하면 그 디렉토리는 글로벌로 설정한 자바 버전과 다른 버전 사용 가능

jenv local [java version]

 

 

+) java: invalid source release: 11 에러 발생할 경우

 

File > Project Structure

Project Settings > Project > Project SDK가 11로 설정되어있는지 확인

 

 

Error:java: invalid source release: 8 in Intellij. What does it mean?

Im trying to compile some code in I'm using Intellij Ultimate 13.1.4, but I get the following error and I have no idea what it means: Information:Using javac 1.7.0_55 to compile java sources Infor...

stackoverflow.com


+) 참고

 

[Mac] OpenJDK 버전별로 여러개 설치하기 ( using Homebrew )

레거시 운영과 새로운 어플리케이션 개발등이 병행될때 등 필요에 따라 여러버전의 JDK를 설치해야 하는 경우가 있습니다.

medium.com

 

Mac에 Java 여러 버전 설치 & 사용하기

Java9부터 jshell이 등장했습니다. 그러다보니 가끔 간단한 Java 코드 작성이 필요할때 굳이 IDE 실행 없이 마치 Bash를 작성하듯이 간단하게 코드를 작성할 수 있게 되었습니다. 하지만 대부분의 프레

jojoldu.tistory.com

 


Gradle과 함께 사용하기

jenv로 여러 버전을 사용할 경우, build failed가 뜨면서 java home을 잘 못 찾는 문제가 있었다.

아래와 같이 plugin사용 설정을 해주면 된다.

jenv enable-plugin gradle

 

Maven을 사용한다면 maven 플러그인을 활성화 하면 끝

jenv enable-plugin maven