Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Ubuntu 16.04에서 Apt-Get으로 Java 설치하는 방법 완벽 가이드

자바(Java)는 제임스 고슬링(James Gosling)이 주도하여 개발한 프로그래밍 언어로, 썬 마이크로시스템즈(Sun Microsystems)가 1995년 자사 자바 플랫폼의 핵심 구성 요소인 Java 1.0(J2SE)으로 처음 공개했습니다.

현재 Java Standard Edition의 최신 릴리스는 Java SE 8입니다. 자바의 발전과 폭넓은 대중화에 힘입어 다양한 플랫폼에 맞춘 여러 구성이 만들어졌습니다. 예를 들어 엔터프라이즈 애플리케이션용 J2EE, 모바일 애플리케이션용 J2ME가 대표적입니다.

기존의 J2 버전들은 각각 Java SE, Java EE, Java ME로 이름이 변경되었습니다. 자바는 '한 번 작성하면 어디서든 실행된다(Write Once, Run Anywhere)'는 특징을 보장하는 언어입니다. 이 글에서는 Ubuntu 환경에서 apt-get을 활용해 자바를 설치하는 방법을 단계별로 살펴보겠습니다.

기본 JRE/JDK 설치하기

자바 프로그램을 실행만 하고 개발하지 않을 경우에는 런타임 환경만 있으면 됩니다. JRE(Java Runtime Environment)를 설치하려면 아래 명령어를 입력하세요.

$ sudo apt-get install default-jre

명령어 실행 시 출력되는 화면은 대체로 다음과 같습니다.

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
    apport-hooks-elementary contractor javascript-common libgda-5.0-4
    libgda-5.0-common libgranite-common libgranite3 libgsignon-glib1
    libindicate5 libjs-jquery libnoise-core0 libtagc0 mysql-server-5.7
    mysql-server-core-5.7
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
    ca-certificates-java default-jre-headless fonts-dejavu-extra java-common
    libbonobo2-0 libbonobo2-common libgif7 libgnome-2-0 libgnome2-common
    libgnomevfs2-0 libgnomevfs2-common liborbit-2-0 openjdk-8-jre
openjdk-8-jre-headless
Suggested packages:
    default-java-plugin libbonobo2-bin desktop-base libgnomevfs2-bin
    libgnomevfs2-extra gamin | fam gnome-mime-data icedtea-8-plugin
    openjdk-8-jre-jamvm fonts-ipafont-gothic fonts-ipafont-mincho
    ttf-wqy-microhei | ttf-wqy-zenhei fonts-indic
The following NEW packages will be installed:
    ca-certificates-java default-jre default-jre-headless fonts-dejavu-extra
    java-common libbonobo2-0 libbonobo2-common libgif7 libgnome-2-0
...........................................................................

반면, 자바 프로그램을 직접 컴파일하거나 사용하려는 소프트웨어가 JDK를 명시적으로 요구한다면 JDK(Java Development Kit) 설치가 필요합니다. JDK는 컴파일러 등 개발 도구까지 포함하는 패키지입니다. JDK를 설치하려면 다음 명령어를 실행하세요.

$ sudo apt-get install default-jdk

실행 결과는 아래와 유사하게 나타납니다.

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
    apport-hooks-elementary contractor javascript-common libgda-5.0-4
    libgda-5.0-common libgranite-common libgranite3 libgsignon-glib1
    libindicate5 libjs-jquery libnoise-core0 libtagc0 mysql-server-5.7
    mysql-server-core-5.7
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
    default-jdk-headless libice-dev libpthread-stubs0-dev libsm-dev libx11-dev
    libx11-doc libxau-dev libxcb1-dev libxdmcp-dev libxt-dev openjdk-8-jdk
    openjdk-8-jdk-headless x11proto-core-dev x11proto-input-dev x11proto-kb-dev
    xorg-sgml-doctools xtrans-dev
Suggested packages:
    libice-doc libsm-doc libxcb-doc libxt-doc openjdk-8-demo openjdk-8-source
    visualvm
The following NEW packages will be installed:
    default-jdk default-jdk-headless libice-dev libpthread-stubs0-dev libsm-dev
    libx11-dev libx11-doc libxau-dev libxcb1-dev libxdmcp-dev libxt-dev
    openjdk-8-jdk openjdk-8-jdk-headless x11proto-core-dev x11proto-input-dev
    x11proto-kb-dev xorg-sgml-doctools xtrans-dev
0 upgraded, 18 newly installed, 0 to remove and 168 not upgraded.
Need to get 11.9 MB of archives.
.....................................................................................

Oracle JDK 설치하기

오라클(Oracle)에서 배포하는 공식 JDK가 필요하다면, 먼저 WebUpd8팀의 PPA 저장소를 시스템에 추가해야 합니다. 아래 명령어를 입력하세요.

$ sudo add-apt-repository ppa:webupd8team/java

저장소 추가 과정에서 다음과 같은 안내 메시지가 출력됩니다.

Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK7 / JDK8 / JDK9). There are no actual Java files in this PPA.

More info (and Ubuntu installation instructions):
- for Oracle Java 7: https://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html
- for Oracle Java 8: https://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html

Debian installation instructions:
- Oracle Java 7: https://www.webupd8.org/2012/06/how-to-install-oracle-java-7-in-debian.html
- Oracle Java 8: https://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html

Important!!! For now, you should continue to use Java 8 because Oracle Java 9 is available as an early access release (it should be released in 2016)! You should only use Oracle Java 9 if you explicitly need it, because it may contain bugs and it might not include the latest security patches! Also, some Java options were removed in JDK9, so you may encounter issues with various Java apps. More information and installation instructions (Ubuntu / Linux Mint / Debian): https://www.webupd8.org/2015/02/install-oracle-java-9-in-ubuntu-linux.html
    More info: https://launchpad.net/~webupd8team/+archive/ubuntu/java
Press [ENTER] to continue or ctrl-c to cancel adding it

gpg: keyring `/tmp/tmpa5dj4h41/secring.gpg' created
gpg: keyring `/tmp/tmpa5dj4h41/pubring.gpg' created
gpg: requesting key EEA14886 from hkp server keyserver.ubuntu.com
..........................................................................................

PPA 추가가 완료되면, 새 저장소 정보를 반영하기 위해 패키지 목록을 업데이트합니다.

$ sudo apt-get update

자바 버전 관리하기

하나의 서버에 여러 버전의 자바가 동시에 설치되어 있을 수 있습니다. 이 경우 update-alternatives 도구를 사용하면 명령줄에서 기본값으로 사용할 자바 버전을 손쉽게 지정할 수 있습니다.

$ sudo update-alternatives --config java

명령어를 실행하면 설치된 자바 목록이 아래와 같이 표시됩니다.

There are 5 choices for the alternative java (providing /usr/bin/java).

Selection    Path                                                  Priority   Status
------------------------------------------------------------
* 0          /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java         1081       auto mode
1            /usr/lib/jvm/java-6-oracle/jre/bin/java                1          manual mode
2            /usr/lib/jvm/java-7-oracle/jre/bin/java                2          manual mode
3            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java         1081       manual mode
4            /usr/lib/jvm/java-8-oracle/jre/bin/java                3          manual mode
5            /usr/lib/jvm/java-9-oracle/bin/java                    4          manual mode 

Press <enter> to keep the current choice[*], or type selection number:

원하는 버전의 번호를 입력하면 해당 버전이 기본값으로 설정됩니다. 현재 선택된 항목은 별표(*)로 표시됩니다.

JAVA_HOME 환경 변수 설정하기

환경 변수를 설정하려면 먼저 자바가 실제로 어디에 설치되어 있는지 확인해야 합니다. 아래 명령어로 설치 경로를 확인할 수 있습니다.

$ sudo update-alternatives --config java

출력된 목록에서 사용하려는 설치 경로(Path)를 복사한 뒤, /etc/environment 파일을 편집기로 엽니다.

$ sudo nano /etc/environment

파일 맨 마지막 줄에 다음 내용을 추가합니다.

JAVA_HOME="YOUR_JAVA_PATH"

실제 적용 예시는 아래와 같습니다.

JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java"

파일을 저장하고 편집기를 종료한 후, 변경 사항을 즉시 반영하려면 아래 명령어로 파일을 다시 불러옵니다.

$ source /etc/environment

마지막으로 다음 명령어를 실행해 환경 변수가 정상적으로 설정되었는지 확인할 수 있습니다.

$ echo $JAVA_HOME

마무리

지금까지 Ubuntu 16.04에서 apt-get을 이용해 JRE와 JDK를 설치하고, 여러 자바 버전을 관리하며, JAVA_HOME 환경 변수를 설정하는 전 과정을 살펴보았습니다. 이 가이드를 따라 하면 리눅스 서버에서 자바 개발 및 실행 환경을 문제없이 구축할 수 있습니다. 다음 글에서도 더욱 유용한 리눅스 팁과 트릭을 소개해 드리겠습니다. 많은 관심 부탁드립니다!