기술 가이드

CentOS 8에서 OpenJDK 8, OpenJDK 11 및 Oracle Java 8 설치

3 min read Linux 업데이트됨 17 Oct 2025
CentOS 8에 OpenJDK 8/11 및 Oracle Java 8 설치
CentOS 8에 OpenJDK 8/11 및 Oracle Java 8 설치

CentOS 로고와 Java 아이콘이 함께 있는 이미지

요약 이미지: CentOS와 Java 로고를 보여주는 삽화

목적 및 대상

이 문서는 CentOS 8 서버에 OpenJDK 11, OpenJDK 8을 설치하고 필요 시 Oracle Java 8을 설치하는 방법을 설명합니다. 시스템 관리자나 개발자가 빠르게 Java 런타임/개발 키트를 준비하도록 돕습니다.

중요 용어 한 줄 정의:

  • OpenJDK: 오픈소스 Java 구현체.
  • Oracle Java: Oracle에서 제공하는 상업용(또는 라이선스가 있는) Java 배포판.

요구 사항

  • CentOS 8이 실행되는 서버
  • 루트(root) 권한 또는 sudo 권한

OpenJDK 11 설치

먼저 CentOS 8 저장소에서 사용 가능한 JDK 패키지를 검색합니다:

dnf search jdk

(명령 출력 예시 — 실제 환경에서는 출력이 다를 수 있습니다.)

Last metadata expiration check: 1:23:41 ago on Wednesday 18 December 2019 02:23:23 AM EST.

========================================================= Summary & Name Matched: jdk =========================================================
java-11-openjdk-demo.x86_64 : OpenJDK Demos 11
java-1.8.0-openjdk-demo.x86_64 : OpenJDK Demos 8
java-11-openjdk-jmods.x86_64 : JMods for OpenJDK 11
java-11-openjdk-src.x86_64 : OpenJDK Source Bundle 11
java-1.8.0-openjdk-src.x86_64 : OpenJDK Source Bundle 8
java-11-openjdk.x86_64 : OpenJDK Runtime Environment 11
copy-jdk-configs.noarch : JDKs configuration files copier
java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment 8
java-11-openjdk-javadoc.x86_64 : OpenJDK 11 API documentation
java-1.8.0-openjdk-javadoc.noarch : OpenJDK 8 API documentation
java-11-openjdk-devel.x86_64 : OpenJDK Development Environment 11
java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment 8
java-11-openjdk-headless.x86_64 : OpenJDK Headless Runtime Environment 11
java-1.8.0-openjdk-accessibility.x86_64 : OpenJDK 8 accessibility connector
java-1.8.0-openjdk-headless.x86_64 : OpenJDK Headless Runtime Environment 8
java-11-openjdk-javadoc-zip.x86_64 : OpenJDK 11 API documentation compressed in a single archive
java-1.8.0-openjdk-javadoc-zip.noarch : OpenJDK 8 API documentation compressed in a single archive
============================================================ Summary Matched: jdk =============================================================
icedtea-web.noarch : Additional Java components for OpenJDK - Java browser plug-in and Web Start implementation

OpenJDK 11 개발 패키지를 설치합니다:

dnf install java-11-openjdk-devel.x86_64

설치 완료 후 Java 버전을 확인합니다:

java -version

예시 출력:

openjdk version "11.0.5" 2019-10-15 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.5+10-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, mixed mode, sharing)

중요: 프로덕션 환경에서는 LTS(Long-Term Support) 버전을 우선 고려하세요.

OpenJDK 8 설치

일부 레거시 Java 기반 애플리케이션은 OpenJDK 8만 지원합니다. OpenJDK 8을 설치하려면:

dnf install java-1.8.0-openjdk-devel

설치 후 버전 확인:

java -version

예시 출력:

openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)

Java 버전 간 전환 방법

한 시스템에 여러 Java 버전을 설치한 상태에서 기본 java 실행 파일을 전환하려면 alternatives 명령을 사용합니다:

alternatives --config java

실행하면 다음과 유사한 선택 화면이 나옵니다:

There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
   1           java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.5.10-0.el8_0.x86_64/bin/java)
*+ 2           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el8_0.x86_64/jre/bin/java)

Enter to keep the current selection[+], or type selection number: 1

전환할 버전 번호를 입력하고 Enter를 누르면 기본 java 실행 파일이 변경됩니다. 변경 후 다시 java -version으로 활성 버전을 확인하세요.

팁: JDK가 아닌 JRE 위치를 변경하려면 alternatives에서 관련 항목(java, javac, javaws 등)을 각각 설정할 수 있습니다.

Oracle Java 8 설치

Oracle Java(Oracle JDK)는 Oracle 웹사이트에서 RPM 패키지를 내려받아 설치합니다. 라이선스와 배포 정책을 확인한 뒤 진행하세요.

  1. Oracle Java 8 JDK 다운로드 페이지에 접속하여 라이선스에 동의하고 jdk-8u231-linux-x64.rpm 파일을 다운로드합니다.
  2. 다운로드한 RPM이 서버에 있으면 다음 명령으로 설치합니다:
dnf localinstall jdk-8u231-linux-x64.rpm

설치 후 버전 확인:

java -version

예시 출력:

java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)

중요: Oracle JDK는 라이선스에 따라 상용 사용 시 요건이 있을 수 있습니다. 사용 목적에 따라 OpenJDK로 대체가 가능한지 검토하세요.

문제 발생 시 점검 항목 (체크리스트)

  • dnf를 최신 메타데이터로 업데이트했는가? (dnf makecache 또는 dnf update)
  • 설치 후 PATH나 JAVA_HOME이 수동으로 설정되어 기본 java를 덮어쓰고 있지 않은가?
  • alternatives에 올바른 경로가 등록되어 있는가? (alternatives --display java)
  • 설치한 패키지 아키텍처(x86_64 등)가 시스템과 일치하는가?
  • Oracle RPM을 설치할 때 파일 무결성/다운로드가 정상인가?

전환 실패 시 대처(간단 가이드)

  • alternatives 설정을 수동으로 제거 및 재등록:
alternatives --remove java /path/to/java
alternatives --install /usr/bin/java java /path/to/java 1
  • JAVA_HOME을 /etc/profile.d/java.sh에 export로 설정 후 로그아웃/로그인하여 반영
  • 시스템 전역 심볼릭링크를 직접 변경하지 마세요. alternatives를 사용하세요.

대체 방법 및 권장 도구

  • SDKMAN!: 개발자 환경에서 여러 JDK 버전을 관리할 때 편리합니다. 사용자 레벨에서 JDK 전환이 필요하면 SDKMAN!을 검토하세요.
  • 컨테이너화: 특정 애플리케이션마다 서로 다른 Java 버전이 필요한 경우 Docker 컨테이너로 격리하는 것이 안전합니다.

관리자용 체크리스트 (역할 기반)

  • 시스템 관리자:

    • 저장소에서 패키지 서명과 출처를 확인
    • /etc/alternatives 상태 모니터링
    • 보안 패치 적용 정책 수립
  • 개발자:

    • 로컬 개발 환경과 CI에서 동일한 JDK 버전 사용
    • 빌드 스크립트에서 JAVA_HOME을 명시적으로 설정

명령어 요약(치트 시트)

  • OpenJDK 11 설치: dnf install java-11-openjdk-devel.x86_64
  • OpenJDK 8 설치: dnf install java-1.8.0-openjdk-devel
  • Oracle JDK 설치: dnf localinstall jdk-8u231-linux-x64.rpm
  • 버전 전환: alternatives --config java
  • 현재 대안 설정 보기: alternatives --display java

선택 가이드(간단 플로우)

flowchart TD
  A[어떤 Java가 필요한가?] --> B{레거시'8' 필요?}
  B -- 예 --> C[OpenJDK 8 또는 Oracle JDK 8 설치]
  B -- 아니오 --> D{장기 지원'LTS' 필요?}
  D -- 예 --> E[OpenJDK 11 설치]
  D -- 아니오 --> F[최신 JDK 또는 애플리케이션 요구사항 확인]
  C --> G[alternatives로 전환]
  E --> G
  F --> G

간단 용어집

  • JDK: Java Development Kit, 개발자용 도구 모음
  • JRE: Java Runtime Environment, 애플리케이션 실행에 필요한 런타임
  • alternatives: 대체 시스템으로 여러 버전의 동일 명령을 관리

결론

CentOS 8에서는 dnf를 통해 OpenJDK 11과 8을 쉽게 설치할 수 있으며, alternatives 명령으로 기본 Java 버전을 전환할 수 있습니다. Oracle JDK는 Oracle 사이트에서 RPM을 내려받아 dnf localinstall로 설치합니다. 운영 환경에서는 라이선스와 보안 업데이트 정책을 고려하여 OpenJDK와 Oracle JDK 중 적합한 배포판을 선택하세요.

공유하기: X/Twitter Facebook LinkedIn Telegram
저자
편집

유사한 자료

초보자용 인덱스 거래 앱 선택 가이드
투자

초보자용 인덱스 거래 앱 선택 가이드

Mac 복구 디스크 백업 및 부팅용 복구디스크 만들기
macOS

Mac 복구 디스크 백업 및 부팅용 복구디스크 만들기

Nautilus에서 확장자별로 파일 정렬하는 법
우분투

Nautilus에서 확장자별로 파일 정렬하는 법

명령 프롬프트로 인터넷 문제 진단 및 성능 개선
네트워크

명령 프롬프트로 인터넷 문제 진단 및 성능 개선

Windows에서 OneDrive 자동 실행 끄기: 5가지 방법
Windows

Windows에서 OneDrive 자동 실행 끄기: 5가지 방법

원격 PC로 파일 전송: RDP·AnyDesk 실전 가이드
기술 가이드

원격 PC로 파일 전송: RDP·AnyDesk 실전 가이드