Mac에서 OracleJDK를 삭제하고 OpenJDK 설치하기 + Tomcat 재설치 및 실행
개발 환경
- MacOS Mojave 10.14.6
이전 포스팅에서 jdk1.7.0_45.jdk 환경에서 Spring Framework를 실행해 보았습니다. 하지만 OracleJDK는 유료화 문제도 있어서 이번에는 OpenJDK로 이전하는 과정을 정리해 보았습니다.
OracleJDK 삭제
현재 내 단말에 설치되어 있는 jdk를 확인
/usr/libexec/java_home -V
아래와 같은 결과가 나왔습니다.
12.0.2, x86_64: "Java SE 12.0.2" /Library/Java/JavaVirtualMachines/jdk-12.0.2.jdk/Contents/Home
1.8.0_131, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
1.8.0_05, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
1.7.0_45, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home
현재 JAVA_HOME은 jdk1.7.0_45.jdk인데 그외에도 잡다하게 여러 버젼이 설치되어 있었습니다.
이번에 과감하게 다 지우기로 합니다.
특정 버젼의 jdk 삭제
sudo rm -rf /Library/Java/JavaVirtualMachines/{jdk버젼}.jdk
로 4개 다 삭제합니다.
sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-12.0.2.jdk
sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk
sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk
sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk
OracleJDK의 플러그인등 관련파일 삭제
sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -fr ~/Library/Application\ Support/Oracle/Java
아래 커맨드를 실행하여 0건이 뜨는 것을 확인합니다.
/usr/libexec/java_home -V
4개의 jdk를 모두 삭제하였으므로 정상적으로 처리 되었으면 0건이 표시되어야 합니다.
Matching Java Virtual Machines (0)
참고
Removing Java 8 JDK from Mac MacOS에서 오라클 JDK를 삭제하고 OpenJDK 11 설치
OpenJDK 설치
OpenJDK는 brew로 설치합니다. 저는 버젼은 OpenJDK8을 선택하였습니다.
brew tap AdoptOpenJDK/openjdk
brew cask install adoptopenjdk8
정상적으로 설치가 되었는지 java -version
로 확인해 봅니다.
localhost:bin admin$ java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.222-b10, mixed mode)
현재 내 단말에 설치되어 있는 jdk가 하나만 존재하는지 확인합니다.
/usr/libexec/java_home -V
의도한 대로 하나만 표시됩니다.
localhost:bin admin$ /usr/libexec/java_home -V
Matching Java Virtual Machines (1):
1.8.0_222, x86_64: "AdoptOpenJDK 8" /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
참고
brew로 Tomcat 삭제하기
이전 포스팅에서 최신 버젼의 Tomcat과 Java 버젼이 호환되지 않는 문제가 있었습니다. 그 결과 현재 PC에 Tomcat9와 Tomcat8.5가 동시에 존재하는지라 JDK 재설치의 타이밍에 모두 다 삭제하고 재설치 하기로 하였습니다.
Tomcat 삭제하기
brew uninstall tomcat
brew uninstall tomcat@8
Tomcat 재설치
Tomcat8.5를 설치합니다.
brew install tomcat@8
Tomcat 실행
Tomcat 폴더로 이동합니다.
cd /usr/local/Cellar/tomcat@8/8.5.42/bin
Tomcat을 실행합니다.
./catalina start
하지만 localhost:8080에 접속해도 화면이 표시되지 않았기 때문에 로그를 확인해 봅니다.
확인한 로그 파일은 /usr/local/Cellar/tomcat@8/8.5.42/lebexec/logs/catalina.out
입니다.
./catalina: line 464: /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home//bin/java: No such file or directory
로그 내용을 살펴보니 Tomcat이 참고하는 Java(JAVA_HOME)가 여전히 jdk1.7.0_45.jdk로 설정되어 있는 것을 알 수 있습니다. 이러면 Java 환경변수를 수정해야 할 필요가 있습니다.
Java 환경변수 설정
1. /Library/Java/JavaVirtualMachines/{jdk버젼}/Contents/Home/
폴더로 이동합니다.
cd /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/
2. .bash_prifile 파일을 수정합니다.
vi ~/.bash_profile
3. 위 커맨드 실행후 vi 실행화면에서 수정을 위해 E를 입력합니다. ((E)dit anyway)
4. .bash_profile 에서 아래의 내용을 자신의 환경에 맞게 수정합니다.
export JAVA_HOME=/Library/Java/JavaVirtualMachines/{jdk버젼}/Contents/Home/
5. 수정이 끝나면 esc를 클릭한 뒤 :wq!
커멘드로 수정을 종료합니다.
6. 수정이 정상적으로 되었는지 vi ~/.bash_profile
를 ReadOnly 로 접근하여 값을 확인합니다.
여기까지 대응한 다음 Tomcat을 재실행 하니 정상적으로 표시되었습니다.
참고
Spring Tool Suite 에서 새 프로젝트 작성 후 실행 확인
새로 JDK와 Tomcat을 설치했으므로 Spring Tool Suite 에서 새 프로젝트를 만들어 본 뒤 실행을 확인해 봅니다.
STS에서 Java 설정 확인
STS에서 Tomcat 설정 확인
STS에서 앱 실행
※저의 MacBook 환경이 일본어이기 때문에 Welcome home! The client locale is ja_JP.로 표시됩니다.