정확히는 자바코드로 프로그램을 구현 및 구동시키고 싶어서 JDK를 맥에 설치해봤습니다.
자바 컴파일러(javac), 자바 런타임(java), 자바 라이브러리 등이 묶인 파일꾸러미입니다.
brew로도 java를 편하게 설치할 수 있습니다.
brew tap AdoptOpenJDK/openjdk
brew cask install <version>
OpenJDK8 - adoptopenjdk8
OpenJDK9 - adoptopenjdk9
OpenJDK10 - adoptopenjdk10
OpenJDK11 - adoptopenjdk11
OpenJDK11 w/ OpenJ9 JVM - adoptopenjdk11-openj9
물론 설치해주시고
JAVA_HOME을 잡아주세요.
https://findstar.pe.kr/2019/01/20/install-openjdk-by-homebrew/
brew cask는 gui 애플리케이션을 설치할 수 있는거라네요. 예를 들어 google-chrome이라고 할까용..
https://installvirtual.com/uninstall-java-10-mac/
구글에서 Java SE
검색해서
https://www.oracle.com/technetwork/java/javase/downloads/index.html
여길 들어갑니다.
LTS 버전이 좀 안정적이니 Download 클릭해줍니다.
Product에서 macOS를 선택해주시고 Download에서는 dmg 파일을 받아서 바로 실행하도록 하겠습니다.
JDK를 설치한 후에 터미널에
vi ~/.bash_profile
JAVA_HOME과 CLASSPATH를 설정해줍니다.
저는 echo $PATH
를 입력해보니
이전에 설치되어있는 버전이 있었습니다. jdk1.8어쩌구가 있네요.
언제 설치했는지 기억이 안나요. PATH를 바꾸고 싶어서 찾아보니 ~/.bash_profile
도 아니고 /etc/profile
도 아니어서 PATH를 설정하는 방법을 찾아보니
/etc/paths
에 있다네요.
vi /etc/paths
로 보니 정말로 이전에 설치된 버전이 정해져있네요.
sudo vi /etc/paths
로 vi 편집기로 파일을 열어서 새로 설치한 버전의 PATH로 변경해줍니다.
vi 명령어를 모르시면 여기를 참조하셔서 INSERT상태에서 기존 PATH를 지우고, 복붙하시면 됩니다.
시스템 환경변수의 경우 재부팅을 해야 적용이 되는것 같습니다.
이제는 PATH가 새로 설치한 자바로 잡고 있습니다.
만약에 /etc/paths에 JDK path를 주지 않고
~/.bash_profile 에서 계정에서 관리하게 PATH를 지정하는게 더 좋은거 같아요.
vi ~/.bash_profile
명령어로 PATH를 추가해줍니다.
JAVA_HOME, PATH, CLASSPATH등을 환경변수에 적어두는 이유를 찾아봤습니다.
제가 이해한 바로는 우선 환경변수는 운영체제가 컴퓨터를 동작하는 방식에 미치는 변수잖아요. 즉 변수인데 시스템에서 쓰는 변수인데요.
PATH를 정의해두는 이유는 프로그램 실행할때 경로까지 다 붙이고 마지막에 실행파일 이름 써서 실행안하잖아요. 그냥 대충 터미널에 프로그램 이름 쓰잖아요. 그 용도인거같아요. 즉, 편리하게 프로그램 실행
CLASSPATH는 JVM (.java -> .class로 컴파일된 파일을 실행해주는 프로그램)이 시작될때 JVM의 클래스 로더는 CLASSPATH 환경변수를 호출한다네요. CLASSPATH에서 정의된 라이브러리를 쓰기 위함입니다.
CLASSPATH는 안잡아줘도 됩니다.
JAVA_HOME도 결국은 자바 런타임을 실행시키기 위해서 필요하다네요. 실행할때 $JAVA_HOME/bin/java 이런식으로 실행한다네요.
brew로 openjdk 설치
https://installvirtual.com/install-openjdk-8-on-mac-using-brew-adoptopenjdk/
레퍼런스: what is the reason for the existence of the JAVA_HOME environment variable?
레퍼런스: Java 환경변수 설정 : Bamsunbic
레퍼런스: mac에서 PATH 설정 : elfinlas.tistory.com
레퍼런스: macOS Java 환경변수(PATH) 설정 방법 : WHITEPAEK
레퍼런스 : 리눅스 환경변수[path] 설정 - occidere
레퍼런스: 리눅스(linux) 익히기 - 쉘 스크립트 - 잔재미코딩