JDK란?
Java Development Kit의 약자로, 자바 응용 프로그램 개발에 필요한 컴파일러 및 기타 도구, JRE 자바 실행 환경( Java Runtime Environment )
클래스 라이브러리의 소스 및 자바 응용프로그램 샘플 소스 등을 포함합니다.
말 그대로 자바를 이용한 개발을 할 수 있게 해주는 도구를 뜻합니다.
다운로드
콘솔환경에서 다운로드를 받기위해선 wget 패키지 설치가 필요합니다.
[root@localhost ~] # yum -y install wget (..생략) Complete ! |
현재 wget으로 1.6버전을 바로 받을 수 있는 URL을 찾을 수 없어 다른 방법으로 진행 하겠습니다.
우선 JDK를 다운로드 받기 위해
라이센스 동의를 체크 해주시고 linux 64비트 환경의 bin 파일을 다운로드 받습니다.
다운로드를 진행 하려면 오라클 로그인이 필요합니다. 로그인 또는 회원가입 후 로그인 하여 다운로드를 진행해 주세요.
Chrome 기준 다운로드를 시작하면 브라우져 하단에 다운로드 진행 창이 나옵니다. 가장 오른쪽에 다운로드 항목 표시 클릭
그럼 새로운 탭에 현재 다운로드 항목을 볼 수 있는 탭이 열립니다.
다운로드 진행 중인 JDK 파일 아래 URL을 마우스 오른쪽 클릭 링크 주소 복사를 선택 URL주소를 복사 합니다.
이제 CentOS 콘솔로 돌아와 wget을 통해 다운로드를 진행 하겠습니다. 웹에서 다운로드 중인 JDK 파일을 취소 해주시거나 또는
다음과 같은 방법을 사용하지 않고 윈도우에서 받은 JDK 파일을 FTP를 통해 파일 전송을 해주셔도 됩니다.
[root@localhost ~] # wget http://download.oracle.com/otn/java/jdk/6u45-b06/jdk-6u45-linux-x64.bin?AuthParam=1435711996_4fc76a7f2de9fe84f8615ff682525036 --2015-07-01 09:52:34-- http://download.oracle.com/otn/java/jdk/6u45-b06/jdk-6u45-linux-x64.bin?AuthParam=1435711996_4fc76a7f2de9fe84f8615ff682525036 Resolving download.oracle.com... 173.223.227.11, 173.223.227.43 Connecting to download.oracle.com|173.223.227.11|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 72087592 (69M) [application/octet-stream] Saving to: `jdk-6u45-linux-x64.bin?AuthParam=1435711996_4fc76a7f2de9fe84f8615ff682525036' 100%[=======================================================>] 72,087,592 1.18M/s in 1m 44s 2015-07-01 09:54:18 (678 KB/s) - `jdk-6u45-linux-x64.bin?AuthParam=1435711996_4fc76a7f2de9fe84f8615ff682525036' saved [72087592/72087592] |
현재 위치에 파일과 디렉토리의 목록을 출력시켜주는 ls -l 을 통해 다운로드가 제대로 되었는지 확인합니다.
* ls -l -> -l 옵션은 한줄에 한개씩 보여주는 옵션
[root@localhost ~] # ls -l 합계 52 -rw-------. 1 root root 1133 2015-06-29 16:52 anaconda-ks.cfg -rw-r--r--. 1 root root 9040 2015-06-29 16:52 install.log -rw-r--r--. 1 root root 3161 2015-06-29 16:51 install.log.syslog -rw-r--r--. 1 root root 72087592 2013-05-31 06:53 jdk-6u45-linux-x64.bin?AuthParam=1435711996_4fc76a7f2de9fe84f8615ff682525036 drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 공개 drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 다운로드 drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 문서 drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 바탕화면 drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 비디오 drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 사진 drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 음악 drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 템플릿 |
설치
bin 파일을 실행하기 위해 bin파일의 권한부여를 합니다.
*u+x 옵션은 소유자에게 실행권한을 부여
[root@localhost ~] # chmod u+x jdk-6u45-linux-x64.bin?AuthParam (...생략) tip. 파일 이름이 너무 길어 직접 타이핑이 어려울때 는 chmod u+x jdk- 처럼 앞글자까지 타이핑 한후 tab 키를 누르면 자동완성으로 파일명이 출력 됩니다. |
다시 ls -l 로 확인해 보면 권한 부여가 제대로 수행 되었으면 파일의 색상이 바뀌어있습니다.
[root@localhost ~] # ls -l 합계 52 -rw-------. 1 root root 1133 2015-06-29 16:52 anaconda-ks.cfg -rw-r--r--. 1 root root 9040 2015-06-29 16:52 install.log -rw-r--r--. 1 root root 3161 2015-06-29 16:51 install.log.syslog -rw-r--r--. 1 root root 72087592 2013-05-31 06:53 jdk-6u45-linux-x64.bin?AuthParam=1435711996_4fc76a7f2de9fe84f8615ff682525036 drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 공개 drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 다운로드 drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 문서 drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 바탕화면 drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 비디오 drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 사진 drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 음악 drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 템플릿 |
이제 JDK bin 파일을 실행 시켜 줍니다.
*리눅스 파일시스템은 경로를 명확해 해주어야 합니다.
.(single dot)은 현재의 디렉토리 ..(double dot)은 상위 디렉토리 이 둘은 히든 디렉토리로 숨겨져 있습니다.
즉 "./command" 는 현재의 디렉토리에 있는 "command" 를 실행하라는 것 ./ 를 쓰지 않으려면 PATh를 설정해주어야 합니다.(이 부분은 나중에)
[root@localhost ~] # ./jdk-6u45-linux-x64.bin?AuthParam (...생략) (....생략) inflating: jdk1.6.0_45/include/classfile_constants.h inflating: jdk1.6.0_45/COPYRIGHT Creating jdk1.6.0_45/jre/lib/rt.jar Creating jdk1.6.0_45/jre/lib/jsse.jar Creating jdk1.6.0_45/jre/lib/charsets.jar Creating jdk1.6.0_45/lib/tools.jar Creating jdk1.6.0_45/jre/lib/ext/localedata.jar Creating jdk1.6.0_45/jre/lib/plugin.jar Creating jdk1.6.0_45/jre/lib/javaws.jar Creating jdk1.6.0_45/jre/lib/deploy.jar
Done. |
ls -l 로 다시 확인해 줍시다.
jdk1.6.0_45 라는 디렉토리가 새로 생성 됬습니다.
[root@localhost ~] # ls -l 합계 70456 -rw-------. 1 root root 1133 2015-06-29 16:52 anaconda-ks.cfg -rw-r--r--. 1 root root 9040 2015-06-29 16:52 install.log -rw-r--r--. 1 root root 3161 2015-06-29 16:51 install.log.syslog -rwxr--r--. 1 root root 72087592 2013-05-31 06:53 jdk-6u45-linux-x64.bin?AuthParam=1435711996_4fc76a7f2de9fe84f8615ff682525036 drwxr-xr-x. 8 root root 4096 2013-03-27 08:53 jdk1.6.0_45 drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 공개 drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 다운로드 drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 문서 drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 바탕화면 drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 비디오 drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 사진 drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 음악 drwxr-xr-x. 2 root root 4096 2015-06-30 10:14 템플릿 |
JDK 디렉토리 위치 변경 및 심볼릭 링크
이제 JDK디렉토리를 자신이 관리하기 편한 곳으로 이동 시켜줍니다. 이동하지 않고 그냥 쓰셔도 무방합니다.
* 그전에 다운로드 받은 JDK bin 파일을 삭제 하려면
rm -f 파일명 명령어로 삭제 해 줍시다.( -f 는 강제 삭제 옵션으로 조심해서 사용 합니다 )
JDK 디렉토리를 /usr/local 위치로 옮겨주고 옮긴 위치로 이동 하겠습니다.
[root@localhost ~] # rm -f jdk-6u45-linux-x64.bin?AuthParam (....생략) - JDK bin 파일 삭제 [root@localhost ~] # mv jdk1.6.0_45 /usr/local - JDK 디렉토리 이동 [root@localhost ~] # cd /usr/local - 자신의 위치를 JDK 디렉토리가 있는 곳으로 이동 |
pwd 는 자신의 현재 위치의 경로를 보여주는 명령어입니다. cd 로 JDK디렉토리를 옮긴 곳 으로 이동 하였습니다.
[root@localhost local] # pwd /usr/local |
이제 심볼릭 링크(Symbolic link)를 걸어 줍니다. 심볼릭 링크란 쉽게 얘기하면 윈도우에서의 바로가기 같은 역할을 합니다.
심볼릭 링크를 거는 이유는 여러가지가 있을 수 있지만 여기서는 JDK 버전을 업데이트 시 환경 설정의 변화 없이 심볼릭링크로
새로 생성된 디렉토리의 내용만 수정해 주면 되기 떄문 입니다.
[root@localhost local] # ln -s jdk1.6.0_45 java [root@localhost local] # ls -l 합계 44 drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 bin drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 etc drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 games drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 include lrwxrwxrwx. 1 root root 11 2015-07-01 10:35 java -> jdk1.6.0_45 drwxr-xr-x. 8 root root 4096 2013-03-27 08:53 jdk1.6.0_45 drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 lib drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 lib64 drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 libexec drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 sbin drwxr-xr-x. 5 root root 4096 2015-06-29 16:50 share drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 src |
환경변수 설정
기본적인 설치는 모두 완료 되었습니다. 이제 환경변수 설정을 해줘야 합니다.
편집기로 profile 파일을 열어 줍니다.
[root@localhost local] # vim /etc/profile |
위치는 상관 없으니 다른 위치에 넣으셔도 되고 아래 빨간색으로 체크된 부분만 새로 작성해 주시면 됩니다.
:wq 저장 후 종료 합니다.
# /etc/profile # System wide environment and startup programs, for login setup # Functions and aliases go in /etc/bashrc # It's NOT a good idea to change this file unless you know what you # are doing. It's much better to create a custom.sh shell script in # /etc/profile.d/ to make custom changes to your environment, as this # will prevent the need for merging in future updates. JAVA_HOME=/usr/local/java CLASSPATH=.:$JAVA_HOME/lib/tools.jar PATH=$PATH:$JAVA_HOME/bin export JAVA_HOME CLASSPATH PATH pathmunge () { case ":${PATH}:" in *:"$1":*) ;; *) if [ "$2" = "after" ] ; then PATH=$PATH:$1 else PATH=$1:$PATH fi esac } (....생략) |
설정한 환경변수를 적용.
[root@localhost local] # source /etc/profile |
이제 자바가 제대로 설치 되어 있는지 확인 합니다. 아래와 같이 나오면 제대로 설치가 완료 된 것입니다.
[root@localhost local] # java -version java version "1.6.0_45" Java(TM) SE Runtime Environment (build 1.6.0_45-b06) Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode) [root@localhost local] # javac -version javac 1.6.0_45 |
JAVA 간단한 출력예제
JDK 설치가 끝났으니 Java 파일을 만들어 테스트 해보겠습니다.
* vim 파일명 입력시 없는 파일일 땐 새로운파일이 생성 됩니다.
[root@localhost local] # vim helloworld.java |
간단한 출력을 위한 자바 코드를 작성 합니다. :wq 저장 후 종료
public class helloworld{ public static void main(String[] args){ System.out.println("Hello World !!!!!!"); } } "helloworld.java" [New File] |
생성된 파일을 컴파일 해줍니다.
[root@localhost local] # javac helloworld.java [root@localhost local] # ls -l drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 bin drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 etc drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 games -rw-r--r--. 1 root root 425 2015-07-01 10:53 helloworld.class -rw-r--r--. 1 root root 107 2015-07-01 10:52 helloworld.java drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 include lrwxrwxrwx. 1 root root 11 2015-07-01 10:35 java -> jdk1.6.0_45 drwxr-xr-x. 8 root root 4096 2013-03-27 08:53 jdk1.6.0_45 drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 lib drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 lib64 drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 libexec drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 sbin drwxr-xr-x. 5 root root 4096 2015-06-29 16:50 share drwxr-xr-x. 2 root root 4096 2011-09-23 20:50 src |
실행, 정상적으로 출력되는 것을 확인 할 수 있습니다.
[root@localhost local] # java helloworld Hello World !!!!!! |