일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 우아한테크코스
- 자판기미션
- JXM
- 자바의 종류
- ControllerTest
- Getter Setter
- 상근날드
- 자바 버전 다운 그레이드
- 백준
- 블랙잭 회고
- ServiceTest
- 인수테스트
- 리스코프치환원칙
- 프로젝트 패키지 구조
- PR 오류
- 방어적 복사
- throw 와 throws 차이
- 윤년계산하기
- 우테코
- There isn't anything to compare.
- 자바 4334
- 자바로 만들수 있는 것
- Oracle JDK와 OpenJDK의 차이
- 제임스고슬링
- java 1000번 A+B
- JDK
- 우테코4기
- 상수와 Enum
- 테스트 성능 개선
- 객체지향적인 설계
- Today
- Total
개발새발
Mac에서 JAVA 버전 확인과 IntelliJ 에서 JDK 변환하기 본문
자바 버전 변경을 하며 마주한 에러
지금은 자바 8로 변경해둔 상태지만, 원래는 11 버전이었고, openJDK java8 을 다운받은 후 인텔리제이 -> 세팅에서 설정을 변경했지만,
창을 껐다가 키면 이전 버전으로 복구되는 문제가 있었다. 또 마주할 수 있는 문제기 때문에 파고들어보기로 했다.
1. OracleJDK 와 OpenJDK 와 AdoptOpenJDK 의 차이?
위에 에러는 결론적으로 OpenJDK -> AdoptOpenJDK 로 변경 하니 해결되었다. 왜 그럴까?
문제의 시작은 OracleJDK 로 부터 나왔다. 주 쟁점이 유료화 였다.
학생 신분에서는 OracleJDK 가 유료화 된 부분에 큰 영향이 없어 고민할 기회가 없었던 것 같다.
1.1 OracleJDK 와 OpenJDK 의 차이
- JDK 의 종류가 2개인데, Oracle JDK는 폐쇄적인 상업 코드 기반(부분 유료)이고 또 다른 하나는 오픈 소스 기반의 OpenJDK(무료)이다.
- OpenJDK는 모든 JDK의 구현 기준이 되는 JDK이고, Oracle JDK는 OpenJDK의 구현에 더해 여러 추가적인 요소들을 포함한다고 한다.
- oracle 은 3년 마다 릴리즈, OpenJDK 6개월마다 릴리즈를 한다고 한다.
1.2 OpenJDK 와 AdoptOpenJDK 의 차이
결론이다. AdoptOpenJDK는 커뮤니티에 의해 무료로 제공되고 있는 OpenJDK 호환 바이너리이다.
즉 OpenJDK가 상위 개념, AdoptOpenJDK 가 하위 개념이다.
OpenJDK 는 Oracle 로 부터 TCK 인증을 받지 못해서 부분적으로 호환 문제가 발생했었는데, 그 문제를 하기 위해 호환 바이너리인 AdoptOpenJDK를 만들었다고 한다.
내가 겪은 에러가 호환 문제와 관련이 있던 것 같다. java로 개발을 하며 JDK가 필요한 것은 알았지만, JDK에 종류와 차이에는 무지했다.
아직 개념이 확실하지 않아 잘못된 부분이 있을 수도 있는데, 우테코에 가서 코치님들과 크루들과 이 내용을 얘기할 수 있으면 좋겠다.
해결 방법(Mac에서 JAVA 버전 확인과 IntelliJ 에서 JDK 변환하기)
내 컴퓨터 내에 설치된 모든 자바를 확인하는 법
cmd 창이나 인텔리제이 터미널 창에서 아래 명령어를 실행하면 확인 가능하다.
$ /usr/libexec/java_home -V
기본으로 설정된 자바 버전 확인
이렇게 여러개가 있을 때, 내가 기본으로 설정한 버전은 뭘까?? 확인해보자
java -version
JAVA 설치하기
우선 자바를 Homebrew 로 다운받자 Homebrew 는 mac 에서 여러가지 SW 설치를 단순하게 해준다고 한다. (처음 알았다)
- Homebrew 설치 및 업데이트
brew update
- adoptopenjdk/openjdk 추가하기
brew tap adoptopenjdk/openjdk
- java8 설치하기
brew install --cask adoptopenjdk11
- version 확인
$ /usr/libexec/java_home -V
- 자바 설정 파일 열기 (인텔리제이 터미널 )
vi ~/.zshrc
- 설정하기 i 누르고 들어가서 제일 아래부분에 복사 -> 붙여넣기 , ESC 누르고 저장하려면 wq!, 그냥 나가려면 q!
$ export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
- 설정 적용하기
source ~/.zshrc
참고
'우아한테크코스' 카테고리의 다른 글
객체, 설계 (0) | 2022.08.24 |
---|---|
JDBC와 JDBC Template (0) | 2022.04.27 |
MVC 패턴 (0) | 2022.02.20 |
Enum을 사용하는 이유가 뭘까? (0) | 2022.02.20 |
오류와 예외는 같은걸까? (0) | 2022.02.20 |