본문 바로가기
Road to Developer/edwith풀스택웹개발자

6. Mac OS에서 JDK설치, 환경변수 설정하기

by 구월에작은섬 2018. 6. 25.

1. JDK설치


JAVA언어를 작성된 프로그램을 실행하기 위해선 JRE(Java SE Runtime Environment)가 필요합니다.

JAVA언어를 사용하는 개발자는 JAVA언어로 작성된 소스(Source)를 컴파일하고 관리할 필요가 있습니다.

이때 사용되는 도구를 JDK((Java SE Development Kit)라고 말합니다.

JDK안에는 JRE도 포함되어 있습니다. 컴파일한 결과를 실행하기 위해서는 JRE가 필요하기 때문입니다.


http://www.oracle.com/technetwork/java/javase/downloads/jdk10-downloads-4416644.html


링크에 가서 JDK 버전을 다운 받습니다. WAS의 버전 마다 지원하는 JAVA버전이 다를 수 있으므로 잘 생각해서 다운로드합니다.


2. 환경변수 설정


설치가 완료되었으면 환경설정을 합니다.

설정해야 할 환경변수는 다음과 같은 3가지입니다.


JAVA_HOME : JAVA가 설치된 경로를 지정

CLASSPATH : JAVA 클래스가 있는 경로들을 지정

PATH : JAVA 실행파일이 있는 경로를 추가


터미널을 실행해서 다음과 같은 명령어를 입력합니다. 띄어쓰기에 주의해주세요.

cd /Library/Java/JavaVirtualMachines
ls -la


저는 이미 Java가 2개 설치 되어 있습니다. 아래처럼 버전에 맞춰 JAVA_HOME경로를 설정해줍니다.

cd /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home 

이제 어디서든 JAVA를 실행하기 위해서 (자바 파일이 설치된 경로로 이동하지 않고)

다음과 같이 명령어를 실행 해 봅시다.

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home
sudo su -  //관리자로 권한 변경
vi /etc/paths //vi에디터로 /etc/paths파일 편집
//편집 모드(Insert)로 사용하려면 영문자 i를 칩니다.
// 맨 아랫줄에 아래 코드처럼 자신의 JDK버전에 맞게 입력합니다.
/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/bin
//ESC를 눌러서 편집모드를 취소하고
:wq //를 입력해서 저장 후 종료합니다. 

JAVA_HOME과 CLASSPATH 환경변수를 설정 하겠습니다.

vi /etc/profile
//마찬가지로 i를 눌러서 맨 아랫줄에 다음 두줄의 코드를 삽입합니다.
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar
//Esc키를 눌러 편집모드를 취소한 다음 
:wq //를 눌러 저장 후 종료합니다.

이제 터미널을 종료하고 다시 실행하면 



정상적으로 설정이 완료되었음을 확인할 수 있다.



3. 생각해 보기


자바로 작성된 프로그램을 실행하려면 JRE만 설치하면 됩니다. 이때는 환경변수를 설정할 필요가 없습니다.

그런데, JDK를 설치할 때는 환경변수를 설정해야 합니다. 


1. 환경변수를 설정하는 이유가 무엇일까요? 

 ans : JRE는 사용이 주 목적이기 때문에 환경변수를 설정할 필요가 없다. 환경변수를 설정하면 자바 개발 도구들을 다른 어떤 경로에서도 접근할 수 있다.


2. 현재 설치된 JDK보다 높은 버전의 JDK를 설치했습니다. 이때 수정해야 할 환경변수는 무엇일까요?

 ans : JAVA_HOME 변수를 높은 버전의 경로로 수정한다.




참고 : vi 에디터 사용법 :https://www.thegeekdiary.com/basic-vi-commands-cheat-sheet/


출처 : http://www.edwith.org/boostcourse-web/lecture/16681/


반응형

'Road to Developer > edwith풀스택웹개발자' 카테고리의 다른 글

8. Servlet? JSP? Model1, Model2?  (0) 2018.06.25
7. Java Code Convention  (0) 2018.06.25
5. CSS 속성  (0) 2018.06.25
4. 웹서버, WAS  (0) 2018.06.25
3. Browser  (0) 2018.06.25