개발자 도구 및 서비스/JDK

오픈JDK 다운로드 및 설치. (OpenJDK Download and Install)

뽀따 2019. 9. 26. 23:17


1. 자바와 오라클. 그리고 OpenJDK.

"썬 마이크로시스템즈(Sun Microsystems)" 시절의 자바(Java)는 GPL 라이센스를 가졌기 때문에 자바 프로그램 개발 및 운용에 있어 JDK(Java Development Kit, 자바 개발 도구)를 사용하는 것에 별다른 제약이 존재하지 않았습니다. 즉, 누구나 무료로 사용할 수 있었죠.


그런데 "썬 마이크로시스템즈(Sun Microsystems)"가 오라클(Oracle)로 인수되고나서 오라클의 JDK에 대한 정책(년 단위 구독형 유료 라이센스로 전환)이 변경되면서, 오라클에서 제공하는 JDK를 무조건 무료로만 사용할 수는 없게 되었습니다. 물론, 비상업적(Non-commercial)인 용도에 한해서는 여전히 무료 사용이 가능하지만, 이익 창출이 최우선 목적인 일반 회사들에서는 오라클 JDK의 유료 전환이 부담으로 느껴질 수 밖에 없습니다.


하지만 다행히도, 유료로 전환된 오라클 JDK 대신, 무료로 사용할 수 있는 JDK가 존재합니다. 바로 "OpenJDK" 입니다.


1.1 OpenJDK

OpenJDK는 "썬 마이크로시스템즈(Sun Microsystems)"가 만든 JDK의 오픈소스 프로젝트입니다. 자바가 대중화되고 많은 기업들이 소프트웨어 개발에 자바를 사용함에 따라 자바의 오픈 소스 공개를 요구하는 목소리가 커지게 되었고, 이에 "썬 마이크로시스템즈(Sun Microsystems)"는 JDK 소스코드를 GPL 라이센스 하에 공개하고, OpenJDK라는 오픈소스 프로젝트로 만들게 된 것이죠.


하지만 OpenJDK가 오픈소스라고 해도, 누구나 마음대로 OpenJDK의 소스를 수정하고 배포할 수는 없습니다. "썬 마이크로시스템즈(Sun Microsystems)"가 OpenJDK를 공개할 때, 개발 참여 권한에 대한 인증 및 협약 절차를 만들어두었기 때문입니다. TCK(Technology Compatibility Kit)와 OCTLA(OpenJDK Community TCK License Agreement)가 바로 그것인데요. OpenJDK는 TCK 인증을 받고 OCTLA 협약을 체결한 업체와 기관들에 의해 개발 및 관리됩니다. 그리고 현재는 오라클이 "썬 마이크로시스템즈(Sun Microsystems)"의 역할을 그대로 물려받아 인증과 협약 절차를 수행하고 있습니다.

1.2 오라클 JDK vs OpenJDK.

그러면 "오라클 JDK와 OpenJDK 둘 다 오라클에서 관리하니, 결국 둘이 같은 거 아닌가?" 라는 의문이 들 수도 있을텐데요. 결론부터 말하자면, 이 둘은 동일한 스펙과 구현을 포함하고 있지만, 명백히 다른 JDK입니다. OpenJDK는 모든 JDK의 구현 기준(reference implementation)이 되는 JDK이고, 오라클 JDK는 OpenJDK의 구현에 더해 여러 추가적인 요소(Libraries, Plugins, WebStart, Third Party Components...)들을 포함하고 있죠.


그리고 결정적으로, 앞서 언급한 유/무료 라이센스에서 유추할 수 있듯이, 지원 및 유지보수의 범위와 기간에서 차이를 가집니다. OpenJDK는 6개월마다 릴리즈되는데, 일단 릴리즈된 버전은 다음 릴리즈 전까지만 지원 가능하고 그 후에는 유지보수가 이루어지지 않습니다. 즉, 릴리즈 후 6개월이 지난 JDK에 업데이트 Feature 또는 버그 픽스를 적용하기 위해서는 새로운 버전의 JDK로 업그레이드해야 한다는 것이죠. 이는 개발자에게는 큰 무리없는 릴리즈 정책이지만, 오랜 기간 안정적인 운영 및 유지보수가 요구되는 사용자 측면에서는 꽤 큰 위험 부담으로 다가올 수 밖에 없습니다. 반면 오라클 JDK는 약 3년 정도의 릴리즈 주기를 가지며, 오랜 기간(Long Term) 오라클에 의해 지원이 이루어집니다.

1.3 어떤 JDK를 써야 하는가?

현재 오라클 JDK 라이센스를 보유하지 않은 기업의 개발자라면, 일단 OpenJDK를 사용하는 게 맞습니다. 그리고 아마도 대부분 큰 어려움없이 개발 진행이 가능할거라 예상합니다. OpenJDK의 안정성이 과거에 비해 매우 좋아졌으니까요. 그리고 만약 오라클 JDK에 포함된 요소를 반드시 사용해야 한다면, 그 때 오라클 JDK로 변경해도 큰 무리가 없을 것 같습니다.


다만, 운용 측면에서는 조금 더 신중한 접근이 필요할 것 같은데요. 하지만 아쉽게도, 지금 제가 가진 지식과 경험으로는 확실한 정보를 드리기 쉽지 않습니다. 오라클 홈페이지 또는 컨설팅 업체 등 다른 경로를 통해 정보를 습득하시는게 이슈를 줄이는 방법이 될 것입니다.


음, 구구절절 설명이 좀 길어졌는데요, 그럼 이제 OpenJDK를 다운로드하고 설치하는 방법에 대해 알아보겠습니다.

2. OpenJDK 다운로드

2.1 OpenJDK 다운로드 페이지 접속.

OpenJDK 공식 홈페이지는 [openjdk.java.net]입니다. 하지만 여기서 설치 파일을 바로 다운로드 할 수는 없고, [jdk.java.net]에서 제공하는 링크를 통해 설치 파일을 다운로드 할 수 있습니다.


2.2 OpenJDK 다운로드.

2019년 9월 현재, 릴리즈 버전은 13이며, [jdk.java.net/13] 페이지를 통해 [openjdk-13_windows-x64_bin.zip]파일을 다운로드할 수 있습니다. (파일 사이즈는 약 187MB.)


3. OpenJDK 설치.

3.1 압축 파일 풀기.

앞서 다운로드한 압축 파일(openjdk-13_windows-x64_bin.zip)을 풀어보면 아래 그림과 같은 파일과 폴더가 포함되어 있는 것을 확인할 수 있습니다.


3.2 OpenJDK 실행 파일 복사.

이제 OpenJDK에 포함된 파일들을 적절한 실행 경로에 복사하는 작업을 수행할텐데요. 여기서는 "C:\Program Files" 아래에 "openjdk"라는 폴더를 하나 만들고, 그곳에 "jdk-13" 디렉토리를 복사합니다. ("C:\\Program Files\openjdk\jdk-13")


OpenJDK 실행 파일은 복사했지만, 아직 모든 설치가 완료된 것은 아닙니다. OpenJDK에 포함된 실행 파일들(java, javac, ...)이 제대로 실행될 수 있도록, OpenJDK 설치 경로를 시스템 PATH 환경 변수에 추가해야 합니다.

3.3 OpenJDK 실행 경로 환경 변수 추가.

시스템 환경 변수는 "제어판"의 "고급 시스템 설정"을 통해 지정할 수 있습니다.

3.3.1 제어판 실행

아래 그림과 같이, [시작] - [Windows 시스템] - [제어판] 메뉴를 통해 "제어판"을 실행합니다. (또는 윈도우 키 + Pause 키를 눌러 "제어판"의 "시스템" 항목을 바로 실행할 수 있습니다.)


3.3.2 고급 시스템 설정.

"제어판" 화면에서 [시스템 및 보안] - [시스템] - [고급 시스템 설정] 메뉴를 선택하면 "고급 시스템 설정" 기능을 실행할 수 있습니다.


3.3.3 환경 변수 설정 실행.

환경 변수 관리는 "시스템 속성" 화면의 "고급" 탭에 있는 "환경 변수" 버튼을 통해 실행할 수 있습니다.


3.3.4 JAVA_HOME 환경 변수 추가.

먼저 추가해야 할 환경 변수는 "JAVA_HOME"입니다. JDK의 여러 실행 요소 및 자바 실행 환경을 필요로 하는 프로그램들에서 이 환경 변수를 참조하므로, "시스템 변수" 그룹의 "새로 만들기" 버튼을 클릭하여 "JAVA_HOME" 변수를 추가합니다.


3.3.5 PATH 환경 변수에 자바 실행 경로(JAVA_HOME/bin) 추가.

이제 시스템 PATH 환경 변수에 자바 실행 경로를 추가하여 자바 실행 파일(java, javac, ...)이 시스템에서 자유롭게 실행될 수 있게 만듭니다. 자바 실행 파일들은 OpenJDK의 "bin" 디렉토리에 들어 있으며, 앞서 "JAVA_HOME" 환경 변수를 추가해두었기 때문에 PATH 환경 변수에 "%JAVA_HOME%\bin"을 추가하면 됩니다. (여기서는 "C:\Program Files\openjdk\jdk-13\bin"에 해당.)


PATH 환경 변수에 자바 실행 경로를 추가하기 위해, "시스템 변수" 리스트에서 "Path" 항목을 선택한 다음, "편집" 버튼을 클릭하여 PATH 환경 변수를 수정합니다.


3.3.6 환경 변수 설정 완료.

이제 모든 과정이 완료되었습니다. "확인" 버튼을 클릭하여 설정을 완료합니다.


4. OpenJDK 실행 확인.

OpenJDK 설치의 모든 과정이 완료되었으므로 Cmd 또는 Powershell을 통해 자바 실행 파일이 제대로 실행되는지 확인합니다.

4.1 Cmd 또는 Powershell 실행.

윈도우 키 + R을 눌러 "실행"창을 띄웁니다. 그리고 "cmd" 또는 "powershell"을 입력하고 "확인" 버튼을 클릭합니다.


4.2 자바 실행 및 버전 확인.

Cmd 또는 Powershell에서 "java -version" 명령을 실행하여 자바 실행 파일이 정상적으로 실행되는지 확인합니다. 특히, "OpenJDK"와 버전 정보가, 앞서 설치한 정보와 정확히 일치하는지 확인하는 것이 중요합니다.


5. 완료.

이제 OpenJDK를 설치하는 모든 과정이 완료되었습니다.

6. 참고.

.END.