프로그래밍 세계에서, Java 는 가장 인기 있는 프로그래밍 언어 중 하나였습니다. Java는 객체 지향 프로그래밍 시스템의 개념을 따르는 고급 프로그래밍 언어입니다. 또한 크로스 플랫폼 애플리케이션을 생성하는 플랫폼 독립적 언어이기도 합니다. Java는 어디에나 있습니다 – 은행 및 거래, 웹 프레임워크, 게임(Minecraft), 그리고 모바일 운영 체제(Android)까지.
이 가이드에서는 다음 환경에 Java를 설치하는 단계를 안내합니다: CentOS 및 Fedora.
전제 조건
시스템 수준의 변경을 수행하려면 sudo 권한이 필요합니다. 하지만 이러한 작업을 수행할 때는 sudo 권한이 있는 비루트(non-root) 사용자를 사용하는 것이 좋습니다. 다음 방법을 알아보려면 당사 튜토리얼을 참조하십시오: sudoers 파일을 사용하여 사용자의 sudo 권한 관리. 자세한 CentOS 서버 설정 및 구성 지침은 이 튜토리얼을 확인하십시오..
Java 에디션 종류
사용 가능한 몇 가지 다른 Java 에디션이 있습니다:
- Standard Edition- Java SE
- Enterprise Edition-Java EE
- Micro Edition-Java ME
모두 업계에서 각자의 영역을 차지하고 있지만, 대부분의 Java 애플리케이션은 Java SE를 사용하여 개발됩니다. 이 가이드에서는 Java SE 설치를 보여줍니다.
Java SE는 두 가지 유형의 패키지로 제공됩니다:
- JRE: Java Runtime Environment(Java 실행 환경)의 약자입니다. 모든 Java 애플리케이션을 실행하는 데 중요합니다. JRE 패키지는 JVM(Java 가상 머신) 및 유틸리티를 제공하는 필요한 바이너리와 라이브러리로 구성됩니다.
- JDK: Java Development Kit(Java 개발 키트)의 약자입니다. JDK에는 Java 애플리케이션을 개발하고 디버깅하는 데 필요한 모든 도구와 라이브러리가 포함되어 있습니다. 모든 JDK 패키지에는 JRE 사본도 포함되어 있습니다.
Java의 두 가지 주요 구현체는 다음과 같습니다: Oracle Java 및 OpenJDK입니다. OpenJDK는 Java 자체의 기본 토대를 형성하는 오픈 소스 프로젝트입니다. Oracle Java는 일부 독점 코드를 사용하여 OpenJDK를 구현합니다.
두 Java 구현체는 서로 다른 라이선스 정책을 가집니다. Java 9부터 OpenJDK 릴리스는 다음 라이선스에 따라 제공됩니다: GPLv2+CPE (GPLv2 with Classpath Exception). 반면 Oracle Java는 다음 라이선스에 따라 출시됩니다: OTN License Agreement for Java SE.
. 라이선스 정책 변경은 Java 커뮤니티에 큰 반향을 일으켰습니다. 그 이후로 다음과 같은 여러 종류의 OpenJDK를 사용할 수 있게 되었습니다: AdoptOpenJDK, GraalVM, Liberica 등
어떤 Java SE를 선택해야 할까요?
선택할 수 있는 옵션이 너무 많아서 자신에게 맞는 Java 버전이 무엇인지 결정하기 어려울 수 있습니다. 이 섹션에서는 이러한 모든 옵션의 범위를 설명합니다.
- JDK 대 JRE
꽤 간단한 선택입니다. JDK는 대부분 Java 개발자를 위한 것입니다. Java 애플리케이션을 배우거나 개발하고 싶으신가요? 그렇다면 JDK를 선택해야 합니다.
Java 프로그램만 실행하면 된다면 JRE를 선택하십시오. JDK를 설치해도 작동은 하지만 효율성 측면에서는 불필요합니다.
- OpenJDK 대 Oracle
OpenJDK와 Oracle Java는 모두 무료로 제공됩니다. 그러나 배포 환경에 따라 Oracle Java는 유료일 수 있습니다. 가격은 Java 릴리스 주기와 관련이 있습니다. 6개월마다 새로운 버전의 Java가 출시됩니다. 새 릴리스가 나올 때마다 이전 버전은 공개 코드베이스에서 패치, 버그 수정 또는 개선 사항을 받지 못합니다.
배포 환경의 경우, Oracle Java는 교육용 및 개인용으로 사용하는 한 무료입니다. 기업의 프로덕션 환경의 경우 비용이 부과될 수 있습니다. 기업에서 이전 버전의 Java에 대한 지원이 필요한 경우, Oracle은 유료로 연장 지원을 제공합니다.
개인적인 용도로만 Java를 사용하는 개인인가요? 그렇다면 둘 중 어느 쪽이든 괜찮습니다. 회사/기업을 위해 Java를 배포하는 데 관심이 있으신가요? Oracle Java는 유료로 제공됩니다. 또는 다양한 OpenJDK 배포판을 살펴보실 수 있습니다. 순수(vanilla) OpenJDK는 지원을 제공하지 않지만, 다양한 OpenJDK 배포판(AdoptOpenJDK, Amazon Corretto, Azul Zulu 등)은 모든 주요 릴리스에 대해 장기 지원을 무료로 제공합니다.
- OpenJDK 배포판
기능적인 측면에서 모든 OpenJDK 배포판은 거의 동일한 경험을 제공합니다. 일반적으로 각 OpenJDK 배포판을 구분하는 것은 다양한 마이너(및 일부 메이저) 기능들입니다. 패치 및 버그 수정 측면에서 바닐라 OpenJDK는 Oracle Java와 유사한 패턴을 따릅니다. 새로운 Java 버전이 출시되면 이전 버전은 더 이상 업데이트를 받지 못합니다. 하지만 이전 OpenJDK 릴리스는 여전히 무료로 사용할 수 있습니다.
이러한 부분에서 다른 배포판들이 등장합니다. 이 OpenJDK 배포판들은 일반적으로 Oracle이 공식적으로 제공하는 것보다 더 오랜 기간 동안 이전 및 신규 릴리스에 대한 지원을 제공합니다. 이러한 프로젝트 중 일부는 업계 대기업의 후원을 받습니다.
Java 설치하기
이 글을 작성하는 시점에서 최신 LTS 릴리스는 Java 11입니다. 가장 오랜 기간 동안 업데이트를 받을 수 있으므로 Java LTS(장기 지원) 릴리스를 사용하는 것이 권장됩니다. Java 11 LTS OpenJDK 배포판은 2030년까지 지원을 받을 예정입니다.
-
Oracle JDK 설치하기
Oracle JDK 16
Oracle은 Linux용 설치 패키지를 제공합니다. Oracle의 JDK는 DEB, RPM 및 TAR.GZ 패키지로 제공됩니다. 우리는 CentOS 및 Fedora를 사용하고 있으므로 대상은 Oracle JDK RPM 패키지입니다.
Oracle은 공개 다운로드용으로 최신 JDK 릴리스만 제공합니다. 이전 릴리스의 경우 액세스하려면 Oracle 계정이 필요합니다. 작성 시점에서 최신 Java 릴리스는 Java 16입니다. 먼저 다음을 확인하세요. Oracle JDK 16 다운로드 페이지:

CentOS에 Java 패키지를 설치하려면 다음 명령을 실행합니다:
|
1 |
sudo yum localinstall jdk-16.0.1_linux-x64_bin.rpm |

Fedora에 Java 패키지를 설치하려면 다음 명령을 실행합니다:
|
1 |
sudo rpm -Uvh --nodeps ./jdk-16.0.1_linux-x64_bin.rpm |
Oracle JDK 11
다음을 확인하세요. Oracle JDK 11 다운로드 페이지. 그런 다음 RPM 패키지를 다운로드합니다. 이제 패키지를 설치할 차례입니다. CentOS에 RPM 패키지를 설치하려면 다음 명령을 실행합니다:
|
1 |
sudo yum localinstall jdk-11.0.11_linux-x64_bin.rpm |
Fedora에 RPM 패키지를 설치하려면 다음 명령을 실행합니다:
|
1 |
sudo rpm -Uvh --nodeps ./ jdk-11.0.11_linux-x64_bin.rpm |
Oracle JDK 8
새로운 릴리스가 출시되었음에도 불구하고 Java 8은 개발자들 사이에서 여전히 가장 인기 있는 버전 중 하나입니다. 당연하게도 업계는 서서히 최신 릴리스로 전환하고 있지만 Java 8은 여전히 높은 인기를 유지하고 있습니다. 또한 공식 Oracle 웹사이트에서 설치 가능한 RPM 패키지로 제공됩니다. 다음을 확인하세요. Oracle JDK 8 다운로드 페이지. 다음으로 시스템에 RPM 패키지를 다운로드합니다.
Fedora에 RPM 패키지를 설치하려면 다음 명령을 실행합니다:
|
1 |
sudo rpm --Uvh --nodeps ./jdk-8u291-linux-x64.rpm |
CentOS에 설치하려면 다음 명령을 실행합니다:
|
1 |
sudo yum localinstall jdk-8u291-linux-x64.rpm |
-
OpenJDK 설치하기
OpenJDK 16
OpenJDK 패키지는 공식 패키지 서버에서 직접 제공됩니다. 패키지 관리자에게 패키지를 설치하도록 명령하기만 하면 됩니다. CentOS와 Fedora 모두에서 OpenJDK 16은 다음 패키지로 제공됩니다. java-16-openjdk-devel.
CentOS에 OpenJDK 16 설치:
|
1 |
sudo yum install java-16-openjdk-devel |
Fedora에 OpenJDK 16 설치:
|
1 |
sudo dnf install java-16-openjdk-devel |
OpenJDK 11
CentOS와 Fedora 모두에서 OpenJDK 11은 다음으로 제공됩니다. java-11-openjdk-devel.
CentOS에 OpenJDK 11 설치:
|
1 |
sudo yum install java-11-openjdk-devel |

Fedora에 OpenJDK 11 설치:
|
1 |
sudo dnf install java-11-openjdk-devel |
OpenJDK 8
다행히도 OpenJDK 8 역시 공식 패키지 서버에서 직접 제공됩니다. CentOS와 Fedora 모두에서 OpenJDK 패키지는 다음과 같이 표시됩니다. java-1.8.0-openjdk-devel.
Fedora에 OpenJDK 8 설치:
|
1 |
sudo dnf install java-1.8.0-openjdk-devel |
CentOS에 OpenJDK 8 설치:
|
1 |
sudo yum install java-1.8.0-openjdk-devel |
OpenJDK 배포판
OpenJDK 버전은 개인 및 기업/엔터프라이즈 사용자 모두에게 흥미로운 옵션입니다. 이들 중 상당수는 다양한 Java 릴리스에 대해 비용 없이 장기 지원을 제공합니다.
- AdoptOpenJDK 설치하기
AdoptOpenJDK는 꽤 인기 있는 또 다른 OpenJDK 버전입니다. 모든 OpenJDK 빌드는 무료로 제공됩니다. 이는 Java 개발자 및 벤더(Amazon, IBM, Azul, Microsoft, Red Hat 등)가 지원하는 프로젝트입니다. AdoptOpenJDK 바이너리는 커뮤니티 및 상업적 지원을 모두 제공합니다.
AdoptOpenJDK를 설치하기 위해 Debian/Ubuntu, CentOS/RHEL/Fedora 및 openSUSE/SLES용으로 사전 빌드된 DEB 및 RPM 패키지를 제공하는 서드 파티 리포지토리를 활용할 것입니다. 리포지토리와 사용 가능한 패키지는 이 문서에 간략히 설명되어 있습니다: AdoptOpenJDK — RPM 및 DEB 파일.
먼저 서드 파티 리포지토리를 설치해야 합니다. 이 가이드에 설명된 다른 방법보다 약간 더 복잡합니다. 요약하자면, 리포지토리 항목을 수동으로 생성해야 합니다. 새 리포지토리를 생성합니다 adoptopenjdk.repo. 명령은 root 사용자로 실행해야 합니다:
|
1 |
cat <<EOF > /etc/yum.repos.d/adoptopenjdk.repo |
그 후, 다음 코드를 입력합니다. CentOS 버전에 따라 baseurl 항목을 그에 맞게 업데이트하십시오:
|
1 2 3 4 5 6 7 |
[AdoptOpenJDK] name=AdoptOpenJDK baseurl=https://adoptopenjdk.jfrog.io/adoptopenjdk/rpm/centos/7/$(uname -m) enabled=1 gpgcheck=1 gpgkey=https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public EOF |

Fedora에서는 대신 다음 코드를 입력합니다. Fedora 버전에 따라 baseurl 항목을 그에 맞게 업데이트하십시오. 명령을 root로 실행하는 것을 잊지 마십시오:
|
1 |
cat <<EOF > /etc/yum.repos.d/adoptopenjdk.repo |
|
1 2 3 4 5 6 7 |
[AdoptOpenJDK] name=AdoptOpenJDK baseurl=https://adoptopenjdk.jfrog.io/adoptopenjdk/rpm/fedora/33/$(uname -m) enabled=1 gpgcheck=1 gpgkey=https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public EOF |

이제 리포지토리가 구성되었습니다. 다음으로 YUM/DNF가 새 리포지토리를 인식하는지 확인합니다:
|
1 |
sudo yum repolist |

|
1 |
sudo dnf repolist |

이제 AdoptOpenJDK 패키지를 설치할 수 있습니다. 사용 가능한 모든 패키지를 확인해 보십시오:
|
1 |
yum search adoptopenjdk |
|
1 |
dnf search adoptopenjdk |
Fedora에 AdoptOpenJDK 11 (hotspot)을 설치하려면 다음 명령을 실행하십시오:
|
1 |
sudo dnf install adoptopenjdk-11-hotspot |

CentOS에 AdoptOpenJDK 11 (hotspot)을 설치하려면 다음 명령을 실행하십시오:
|
1 |
sudo yum install adoptopenjdk-11-hotspot |
설치 테스트
선택한 JDK를 설치한 후, 설치가 제대로 작동하는지 확인하기 위해 간단한 테스트를 수행합니다:
|
1 |
java -version |
|
1 |
javac -version |

기본 Java 설정
시스템에 여러 JDK가 설치되어 있는 경우 충돌이 발생할 수 있습니다. 문제가 되는 동작을 방지하려면 하나를 기본 JDK로 설정해야 합니다. alternatives 명령을 사용하여 설정할 수 있습니다. 일부 프로그램은 JDK 위치를 결정하기 위해 환경 변수의 추가 구성이 필요합니다.
-
alternatives 사용하기
CentOS/Fedora에서 alternatives 명령은 심볼릭 링크를 통해 기본 명령을 관리합니다. Java의 경우 이 기능은 매우 유용합니다. 기본 Java를 변경하려면 다음 alternatives 명령을 실행하십시오:
|
1 |
sudo alternatives --config java |

출력에서 alternatives는 모든 Java 설치를 인쇄합니다. 선호하는 Java 설치의 Selection 값을 입력하여 기본값으로 설정하십시오.
-
환경 변수
Java 전용 환경 변수가 몇 가지 있습니다. 이 변수들은 Java 실행 파일의 위치를 선언합니다. 가장 많이 사용되는 환경 변수는 JAVA_HOME. 이 값은 Java가 설치된 전체 경로입니다. 환경 변수를 설정합니다:
|
1 |
export JAVA_HOME=<java_path> |

시스템의 모든 사용자에 대해 JAVA_HOME을 설정하려면, 그 값을 다음 아래에 선언해야 합니다: /etc/environment:
|
1 |
sudo sh -c "echo export JAVA_HOME=<java_path> >> /etc/environment" |
마치며
이 가이드에서는 CentOS 및 Fedora에 Java를 설치하는 방법을 설명했습니다. 또한 사용자의 스타일에 가장 잘 맞는 JDK를 선택할 수 있도록 다양한 Java 버전을 소개했습니다.
Java는 강력한 프로그래밍 언어입니다. 크로스 플랫폼 개발을 최우선으로 생각하는 몇 안 되는 프로그래밍 환경 중 하나입니다. 거의 모든 Java 프로그램은 지원되는 다른 모든 플랫폼에서 실행됩니다. 개발자로서 플랫폼에 대한 불안감에서 벗어날 수 있습니다. 사용자로서 원하는 애플리케이션이 시스템에서 실행될 것이라고 안심할 수 있습니다.
만약 Ubuntu에 Java를 대신 설치하고 싶다면 이 튜토리얼을 확인해 보세요..
즐거운 컴퓨팅 되세요!





댓글
아직 댓글이 없습니다. 첫 번째로 작성해 보세요.