1. Java란? Ubuntu에서 Java가 필요한 경우는 언제인가요?
Java는 어떤 종류의 프로그래밍 언어인가요?
Java는 전 세계적으로 널리 사용되는 객체 지향 프로그래밍 언어입니다. 핵심 설계 원칙 중 하나는 “Write Once, Run Anywhere”(한 번 작성하면 어디서든 실행)이며, 이는 애플리케이션을 수정 없이 다양한 운영 체제와 디바이스에서 실행할 수 있음을 의미합니다.
Java는 데스크톱 애플리케이션, 웹 애플리케이션, 모바일 앱(특히 Android 개발) 등 다양한 개발 시나리오에서 사용됩니다. 또한 대규모 엔터프라이즈 시스템과 금융 시스템에서도 많이 활용되어 오늘날 가장 오래 지속되고 활발히 사용되는 프로그래밍 언어 중 하나입니다.
Ubuntu에서 Java의 역할
Java는 Ubuntu와 같은 Linux 기반 운영 체제에서도 중요한 역할을 합니다. 다음과 같은 상황에서 Java가 필요합니다:
1. Java 기반 애플리케이션 실행
많은 애플리케이션이 Java로 개발되었으며 실행하려면 Java Runtime Environment(JRE)가 필요합니다. 예를 들어 Eclipse와 IntelliJ IDEA 같은 개발 도구, 그리고 DBeaver와 같은 데이터베이스 관리 도구는 Java 없이는 시작되지 않습니다.
2. Java 개발 환경 구축
Ubuntu에서 Java 프로그래밍을 배우거나 Java 애플리케이션을 개발하려면 Java Development Kit(JDK)를 설치해야 합니다. Ubuntu는 개발 플랫폼으로 인기가 높으며 Java와 매우 잘 어울려 개발자들 사이에서 널리 사용됩니다.
3. 서버 애플리케이션 실행
Java는 Tomcat, Spring Boot와 같은 많은 웹 서버와 프레임워크의 기반입니다. Ubuntu 서버에서 Java 기반 웹 애플리케이션을 실행하려면 Java 환경이 필수입니다.
요약: Ubuntu와 Java는 완벽한 조합
Ubuntu는 오픈 소스이며 가벼워서 크로스 플랫폼 언어인 Java와 매우 잘 맞습니다. Ubuntu에 Java를 설치하면 애플리케이션 사용부터 개발, 서버 운영까지 다양한 활용 사례가 가능해집니다.
2. Ubuntu에서의 Java 옵션 (OpenJDK vs Oracle JDK)
Ubuntu에서 선택 가능한 Java 종류
Ubuntu에서는 두 가지 주요 Java 개발 환경을 사용할 수 있습니다: OpenJDK와 Oracle JDK.
두 환경 모두 Java 프로그램을 실행하고 개발하는 데 사용할 수 있지만, 라이선스, 배포 방식, 지원 측면에서 차이가 있습니다. 적절한 JDK를 선택하려면 목적과 사용 사례를 고려해야 합니다.
OpenJDK란? (Ubuntu 기본 JDK)
OpenJDK (Open Java Development Kit)는 Java의 오픈 소스 구현체입니다. 원래 Sun Microsystems(현재 Oracle)에서 주도했으며, 현재는 오픈 커뮤니티 개발을 통해 지속적으로 발전하고 있습니다.
Ubuntu는 OpenJDK를 기본 Java 환경으로 채택하고 있으며, apt 명령을 사용해 손쉽게 설치할 수 있습니다.
OpenJDK의 주요 특징
- 상업적 사용 포함 완전 무료
- Ubuntu 공식 저장소에서 손쉽게 설치
- 정기적인 보안 업데이트 제공
- 기업 환경에서도 널리 사용되는 높은 안정성
특별한 요구 사항이 없다면 OpenJDK가 보통 가장 안전하고 좋은 선택입니다.
Oracle JDK란? (공식 지원 JDK)
Oracle JDK는 Oracle에서 제공하는 공식 Java 구현체입니다. OpenJDK를 기반으로 하지만 추가적인 최적화나 통합 기능이 포함될 수 있습니다.
하지만 라이선스가 다르며, 상업적 사용 시 유료 라이선스가 필요할 수 있습니다. 개인이나 교육용 사용은 일반적으로 허용됩니다.
Oracle JDK의 주요 특징
- Oracle 공식 지원 및 유지보수
- 상업적 사용 시 라이선스 확인 필요
- 보안 패치 빠른 제공
- OpenJDK에 없는 일부 추가 기능 포함
Ubuntu에 설치하려면 공식 웹사이트에서 다운로드받아 수동으로 설정해야 합니다.
OpenJDK와 Oracle JDK의 차이점 요약
| Category | OpenJDK | Oracle JDK |
|---|---|---|
| Provider | Open-source community | Oracle Corporation |
| License | GPL + Classpath Exception | Oracle Binary Code License (commercial use requires caution) |
| Cost | Free | Paid for some commercial use cases |
| Typical Use | General development, learning, internal tools | Commercial services, large-scale operations |
| Installation | Easy via apt | Manual download and setup |
결론: 대부분의 Ubuntu 사용자에게는 OpenJDK를 권장합니다
대부분의 사용자에게 OpenJDK는 Ubuntu에 Java를 설정할 때 충분히 만족스러운 선택입니다. 안정적이며 대부분의 프레임워크와 라이브러리와 호환됩니다.
공식 지원이나 엔터프라이즈 수준의 보증이 필요하다면 Oracle JDK가 옵션이 될 수 있습니다. 필요에 가장 잘 맞는 JDK를 선택하세요.
3. Ubuntu에 Java 설치 전 준비
설치 전에 확인할 사항
Ubuntu에 Java를 설치하는 것은 어렵지 않지만, 몇 가지 준비 단계가 원활한 과정을 보장하는 데 도움이 됩니다. 이는 특히 초보자나 기존 패키지가 많은 시스템에서 중요합니다.
1. 패키지 목록 업데이트
Ubuntu는 APT(Advanced Package Tool)를 사용하여 소프트웨어를 관리합니다. 패키지 목록이 오래된 경우 Java 패키지를 찾지 못하거나 오래된 버전을 사용할 수 있습니다.
다음 명령어로 패키지 목록을 업데이트하세요:
sudo apt update
이렇게 하면 APT가 최신 패키지 정보를 사용하여 Java를 설치합니다.
2. 기존 Java 설치 확인
오래된 Java 패키지가 새로운 설치와 충돌할 수 있습니다.
현재 Java 버전을 확인하세요:
java -version
버전이 표시되면 Java가 이미 설치되어 있을 수 있습니다. 재설치 전에 제거하면 문제를 피할 수 있습니다.
3. 관리자(sudo) 권한 확인
Java 설치는 시스템 수준의 변경이 필요하므로 sudo 권한이 필요합니다.
권한이 부족하면 다음과 같은 오류가 발생할 수 있습니다:
User 'yourname' is not in the sudoers file. This incident will be reported.
이 경우 관리자에게 문의하거나 root 권한이 있는 사용자를 사용하세요.
요약
패키지 업데이트와 환경 사전 확인은 설치 오류를 방지하고 원활한 설정 과정을 보장합니다.
4. Ubuntu에서 Java 설치 방법 (기본 방법)
4.1 APT를 사용한 OpenJDK 설치
Ubuntu는 APT(Advanced Package Tool)를 통해 소프트웨어를 관리합니다. OpenJDK는 Ubuntu의 공식 저장소에 포함되어 있으므로 다음 명령어로 쉽게 설치할 수 있습니다.
OpenJDK 11 설치 (안정적인 LTS)
sudo apt install openjdk-11-jdk
OpenJDK 17 설치 (최신 LTS)
sudo apt install openjdk-17-jdk
openjdk-XX-jdk의 XX 부분을 원하는 버전으로 교체하세요. 2025년 4월 기준으로 11과 17이 권장되는 장기 지원(LTS) 버전입니다.
APT는 종속성을 자동으로 해결하므로 초보자도 안전하고 쉽게 설치할 수 있습니다.
4.2 설치된 Java 버전 확인
설치 후 다음 명령어를 실행하여 Java가 올바르게 작동하는지 확인하세요:
java -version
예시 출력 (OpenJDK 17):
openjdk version "17.0.9" 2024-10-17
OpenJDK Runtime Environment (build 17.0.9+8-Ubuntu)
OpenJDK 64-Bit Server VM (build 17.0.9+8-Ubuntu, mixed mode, sharing)
버전 정보가 표시되면 Java가 성공적으로 설치된 것입니다.
4.3 여러 Java 버전 설치 시 주의사항
Ubuntu는 여러 Java 버전을 동시에 설치할 수 있지만 기본 버전은 하나만 사용할 수 있습니다.
여러 버전이 설치된 경우 다음 명령어로 활성 버전을 선택하세요:
sudo update-alternatives --config java
해당 번호를 선택하여 버전을 전환할 수 있습니다.
요약: OpenJDK부터 시작하세요
대부분의 사용자에게 Ubuntu에서 Java를 시작하는 가장 좋은 방법은 OpenJDK 11 또는 17을 설치하는 것입니다. APT를 사용하면 몇 분 만에 완전한 Java 환경을 설정할 수 있습니다.
5. JAVA_HOME 설정 방법 (환경 변수 구성)
JAVA_HOME이란?
JAVA_HOME은 Java가 설치된 위치를 애플리케이션과 도구에 알려주는 환경 변수입니다.
Maven이나 Gradle 같은 많은 빌드 도구가 이 변수를 사용하여 Java를 찾습니다.
이 변수는 자동으로 설정되지 않으므로 수동으로 구성해야 합니다.
JAVA_HOME 경로 찾는 방법
현재 사용 중인 Java 실행 파일의 실제 경로를 확인하세요:
readlink -f $(which java)
예시 출력:
/usr/lib/jvm/java-17-openjdk-amd64/bin/java
JAVA_HOME 경로는 bin/java가 없는 디렉토리입니다:
/usr/lib/jvm/java-17-openjdk-amd64
JAVA_HOME 설정 단계
쉘 설정 파일을 편집하십시오. Ubuntu에서는 일반적으로 ~/.bashrc(Zsh의 경우 ~/.zshrc)를 사용합니다.
1. bashrc 파일 편집
nano ~/.bashrc
끝에 다음 줄을 추가하십시오(필요에 따라 경로를 조정하세요):
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
2. 변경 사항 적용
source ~/.bashrc
구성 확인
echo $JAVA_HOME
올바른 경로가 표시되면 구성이 완료된 것입니다.
참고: 버전 변경 시 JAVA_HOME 전환
Java 버전을 전환할 때는 선택한 버전에 맞게 JAVA_HOME을 업데이트하십시오.
요약
JAVA_HOME 설정은 많은 Java 기반 도구에 필수적입니다. 수동 설정이 필요하지만 향후 구성 문제를 방지합니다.
6. 여러 Java 버전 관리 및 전환
여러 Java 버전을 사용하는 이유
일부 애플리케이션은 특정 Java 버전을 필요로 합니다. 예를 들어, 한 프로젝트는 Java 8을, 다른 프로젝트는 Java 17을 필요로 할 수 있습니다.
Ubuntu에서는 여러 Java 버전을 동시에 설치하고 쉽게 전환할 수 있습니다.
Java 버전 전환 방법
단계 1: 여러 버전 설치
sudo apt install openjdk-8-jdk
sudo apt install openjdk-17-jdk
단계 2: Java 버전 선택
sudo update-alternatives --config java
Java 컴파일러(javac) 전환
sudo update-alternatives --config javac
필요 시 JAVA_HOME 업데이트
버전을 전환한 후, JAVA_HOME이 현재 활성 Java 버전과 일치하는지 확인하십시오.
흔히 하는 실수
- Java는 전환했지만 IDE에 반영되지 않음: IDE 설정에서 Java 경로를 업데이트하십시오.
- java는 전환했지만 javac는 전환되지 않음:
javac에 대해 별도로update-alternatives를 실행하십시오.
요약
Ubuntu는 여러 Java 버전을 쉽게 관리할 수 있게 해주며, 특히 여러 프로젝트를 동시에 진행할 때 유용합니다.

7. 일반적인 오류와 해결 방법
오류 1: “Unable to locate package openjdk-xx-jdk”
증상
E: Unable to locate package openjdk-17-jdk
원인
- 패키지 목록이 오래됨
- 오타
- Ubuntu 릴리즈에서 지원되지 않는 Java 버전
해결책
sudo apt update
apt search openjdk
오류 2: “java: command not found”
해결책
sudo apt install default-jre
오류 3: JAVA_HOME 적용되지 않음
source ~/.bashrc
echo $JAVA_HOME
오류 4: javac 찾을 수 없음
sudo apt install openjdk-17-jdk
javac -version
오류 5: Java 버전이 변경되지 않음
sudo update-alternatives --config java
sudo update-alternatives --config javac
요약
Ubuntu에서 발생하는 대부분의 Java 관련 문제는 구성 실수 때문에 발생합니다. 오류 메시지를 주의 깊게 읽고 단계별로 해결하십시오.
8. GUI를 사용한 Java 설치 (초보자 친화적)
터미널을 두려워할 필요 없음
Ubuntu는 마우스만으로 소프트웨어를 설치할 수 있는 그래픽 인터페이스를 제공합니다.
Ubuntu Software를 이용한 단계
단계 1: Ubuntu Software 열기
단계 2: “OpenJDK” 검색
단계 3: 버전을 선택하고 설치
설치 후 확인
java -version
GUI 설치의 제한점
GUI 설치는 버전 관리가 제한적입니다. 고급 사용자는 터미널을 이용하는 것이 좋습니다.
요약
GUI 설치는 초보자에게 적합하고, 터미널 기반 설치는 더 큰 유연성을 제공합니다.
9. Java 개발 환경 설정 (선택 사항)
필수 도구
| Tool | Purpose |
|---|---|
| JDK | Java development and execution |
| IDE | Code editing, debugging, completion |
| Build Tools | Dependency management and builds |
추천 IDE
Eclipse
sudo snap install eclipse --classic
IntelliJ IDEA
sudo snap install intellij-idea-community --classic
Visual Studio Code
sudo snap install code --classic
빌드 도구
sudo apt install maven
sudo apt install gradle
요약
Ubuntu는 초보자와 전문가 모두에게 적합한 안정적이고 강력한 Java 개발 환경을 제공합니다.
10. 자주 묻는 질문 (FAQ)
Q1. 어떤 것을 선택해야 할까요: OpenJDK와 Oracle JDK 중 어느 것이 좋을까요?
대부분의 경우 OpenJDK이면 충분합니다. 공식 지원이 필요할 때는 Oracle JDK가 적합합니다.
Q2. JAVA_HOME을 설정해야 하나요?
Java 실행에는 선택 사항이지만, 개발 및 빌드 도구를 위해서는 설정하는 것이 권장됩니다.
Q3. Java를 어떻게 제거하나요?
sudo apt remove openjdk-17-jdk
Q4. GUI와 터미널 중 어느 것을 사용해야 할까요?
기본 사용에는 GUI가 충분합니다. 고급 설정을 위해서는 터미널 사용을 권장합니다.
요약
이 가이드는 Ubuntu에서 Java를 자신 있게 설치, 구성 및 관리할 수 있도록 도와줍니다.


