오픈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" 입니다.

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]에서 제공하는 링크를 통해 설치 파일을 다운로드 할 수 있습니다.

OpenJDK 다운로드 페이지 접속


2.2 OpenJDK 다운로드.

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

OpenJDK 다운로드


3. OpenJDK 설치.

3.1 압축 파일 풀기.

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

OpenJDK 압축 파일 풀기


3.2 OpenJDK 실행 파일 복사.

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

OpenJDK 실행 파일 복사


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" 변수를 추가합니다.

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 환경 변수를 수정합니다.

PATH 환경 변수 수정


3.3.6 환경 변수 설정 완료.

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

환경 변수 설정 완료


4. OpenJDK 실행 확인.

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

4.1 Cmd 또는 Powershell 실행.

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

Cmd 또는 Powershell 실행


4.2 자바 실행 및 버전 확인.

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

자바 실행 및 버전 확인


5. 완료.

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

6. 참고.

.END.


개발자 도구 및 서비스/JDK , , , , , , , ,

  1. Blog Icon
    ch

    감사합니다!! 정말 많은 도움이 되었어요

  2. 도움이 되어서 다행이네요.
    방문해 주셔서 감사합니다.

  3. Blog Icon

    비밀댓글입니다

  4. 방문해 주셔서 감사합니다.
    제가 한 동안 블로그를 신경쓰지 못해서 이제서야 답글 남깁니다.
    비루한 블로그에 방문해주시고,
    댓글까지 남겨주셔서 감사합니다.

  5. Blog Icon
    gg

    설치하는데에 도움되었습니다~! 감사합니다.

  6. 도움이 되었다니 다행이네요.
    방문해 주셔서 감사합니다.

  7. Blog Icon
    carrot

    뽀따님 짱이에요 ㅎㅎ

  8. 짧지만 힘이되는 댓글이네요. ^^
    감사합니다!

  9. Blog Icon
    thanks

    이해하기 쉽게 잘 정리해주셔서, 감사해요

  10. 방문해 주시고, 댓글까지 남겨주셔서 감사합니다.

  11. Blog Icon
    기록하는 개발자

    openjdk와 오라클 jdk를 확실히 이해할 수 있는 좋은 글 써주셔서 감사합니다. openjdk에 관해 글을 쓸 때 뽀따님의 글을 내용을 일부 발췌하고 출처를 남겨도 될까요?

  12. 네. 글의 일부 발췌와 출처를 밝히시는 건 괜찮습니다.

    다만, jdk 배포 정책 및 사용 권한 등은 언제든 관련 업체들에 의해 변경될 수 있으므로, 오라클 또는 JDK 홈페이지를 통해 최신 내용을 한번쯤 확인해보시는 것도 좋을 것 같습니다.

    감사합니다.

  13. Blog Icon
    아무것도 몰라요

    안녕하세요~ 자세하게 적어주신 내용대로 하니 설치가 쉬웠습니다. 정말 감사드립니다. 그런데 뽀따님께서 써주신 대로 설치를 했는데 마지막에 버전확인을 하니 오픈jdk가 아닌 자바 버전이 뜨는데 혹시 무엇이 잘 못된 건지 알 수 있을까요? ㅠㅠ

  14. 아마 다른 자바가 설치되어 있고, java 경로가 설치하신 openjdk보다 앞서 있어서 그런 것 같습니다.

    cmd 창 띄워서 "where" 명령을 실행해보세요.

    > where java
    C:\\Program Files\\openjdk\\jdk-14\\bin\\java.exe

    위에서처럼, 시스템에서 참조하는 "java" 프로그램의 경로가 나오는데, 아마 이 부분이 다른 경로로 나올거에요.

    시스템 환경설정에서 PATH 환경변수를 보시면 다른 Java 설치 경로가 OpenJDK보다 앞서 있을텐데, 다른 Java 경로를 삭제하시거나, OpenJDK 설치 경로를 다른 Java 설치 경로보다 위로 가게 설정해주시면 해결하실 수 있을 거에요.

    감사합니다.

  15. Blog Icon
    울고있음

    오늘 하루종일 검색해봐도 해결법을 찾지못했는데, 포스팅하신 글이 해결법같아 읽어보니 저는 맥을 사용하고 있습니다. nano / vi bash_profile Open JDK경로를 JAVA_HOME으로 설정하는 것 까진 한것 같은데 터미널 echo $JAVA_HOME를 입력해도아무것도 출력되지않습니다. 혹시 도움을 주실 수 있는지 여쭙니다 ㅜㅜ

  16. 어디까지 도움을 드릴 수 있을지는 모르겠지만...
    문제 해결 방법을 찾아볼까요?

    먼저 아래 내용을 체크해보세요.

    1. 터미널로 접속한 다음, 현재 계정의 HOME 디렉토리로 이동하여 ".bash_profile"에 $JAVA_HOME 디렉토리를 잘 기록했는지 확인해보세요.
    (파일 이름이 ".bash_profile" 입니다.)

    $ cd
    $ cat .bash_profile

    2. source 명령을 통해 .bash_profile을 실행하세요.

    $ cd
    $ source .bash_profile

    3. echo 명령을 통해 JAVA_HOME 변수가 제대로 출력되는지 확인해보세요.

    $ echo $JAVA_HOME

    4. 터미널을 종료한 다음, 다시 터미널을 실행하여 JAVA_HOME 변수 확인 및 java --version 명령이 제대로 실행되는지 확인해보세요. 설치한 openjdk의 java 버전인지 확인해보세요.

    위 내용 확인해보시고, 잘 안되면 다시 질문글 남겨주세요.

    감사합니다.

  17. Blog Icon
    울고있음

    해결하고보니 JDK가 아닌 SDK의 문제였네요..에러 디버그는 자바를 확인하라더니; 도통 알수없는 유니티의 세계.. 그래도 뽀따님이 답변해주신걸로 공부가 되었네요 감사합니다 좋은하루 보내세요^^

  18. 문제점을 찾으셔서 다행입니다.
    또 언제든 궁금한 내용 있으면 질문글 남겨주세요.

    감사합니다.

  19. Blog Icon

    진짜 도움 많이 되었어요 너무 감사합니다 ㅜㅠㅜ

  20. 도움이 되셨다니, 뿌듯하네요. ^^

    방문해 주셔서 감사합니다.

  21. Blog Icon
    ooo

    감사합니다!!!! 덕분에 보면서 따라하고 버전 확인까지 다 했습니다ㅎㅎㅎㅎㅎ

  22. 도움 되셨다니 다행이네요.
    방문해 주셔서 감사합니다.

  23. Blog Icon
    7777

    java -version을 해도 openjdk가 뜨지않고 그냥자바가뜨는데 어떻해해야하나요?

  24. 경로 설정을 확인해보시면 문제를 해결할 수 있을 것 같습니다.

    아래 절차를 따라 체크해보세요.

    1. java의 실행경로 확인.
    "where java" 명령을 실행하여 현재 기본 실행되는 java의 경로를 확인.

    C:\\> where java
    C:\\Program Files\\jdk\\jdk-14\\bin\\java.exe

    위처럼 openjdk가 아닌 다른 경로(예, jdk)를 표시하고 있을 것 같습니다.

    2. PATH 설정 확인 및 수정.
    본문의 "3.3 OpenJDK 실행 결로 환경 변수 추가."의 내용을 확인하여, java 실행 경로를 체크해보세요.
    "3.3.5 PATH 환경 변수에 자바 실행 경로(JAVA_HOME/bin) 추가. "의 그림을 참고하시면 됩니다.

    시스템의 Path 환경 변수에 설정된 내용 중 1번 절차에서 확인한 경로가 있는지 확인하신 다음, 해당 변수를 삭제하거나, openjdk 경로를 보다 아래로 내려놓으시면 됩니다.

    확인해보시고 문제가 해결되지 않으면 다시 질문글 남겨주세요.

    감사합니다.