inblog logo
|
jjack1
    환경설정

    [환경설정] 3. JDK 설치

    최재원's avatar
    최재원
    Jan 24, 2025
    [환경설정] 3. JDK 설치
    Contents
    1. JDK 압축 풀기다운로드 주소다운로드 링크2. 압축 해제 된 파일 다음 경로로 이동3. 명령 프롬프트 열기4. JDK bin 폴더 환경 변수 설정 🚫5. 환경 변수(패스) 적용6. 환경 변수에 JAVA_HOME 등록7. vscode 기반의 에디터에서 java red hat이 jre를 못찾는다고 한다면…8. ??. 프로젝트에 java 버전 명시 - 필요한거 맞는지 검증9. 리눅스에 설치 및 세팅목적1. 설치 방식2. 주의사항3. 방법 A - apt로 설치4. 방법 B - tar.gz로 원하는 경로에 수동 설치5. 실행 권한 문제6. 잘못 설치한 경우 구분법7. 추천 구조8. 최종 점검 체크리스트9. 권장 결론10. 실사용 예시
    ❗
    자바 개발 키트(Java Development Kit, JDK)는 자바 SE, 자바 EE, 또는 자바 ME 플랫폼 중 하나를 구현한 것으로[4] 솔라리스, 리눅스, 맥 OS X, 또는 윈도우 자바 개발자를 대상으로 오라클에 의해 바이너리 제품으로 제공된다. 자바 플랫폼의 등장 이래 지금까지 가장 널리 사용되는 소프트웨어 개발 키트(SDK)다. 2006년 11월 17일 썬은 GNU 일반 공중 사용 허가서 (GPL)하에 출시될 것이라고 발표했고, 이에 따라 자유 소프트웨어가 되었다. 이는 썬이 2007년 5월 8일 소스 코드를 오픈 JDK에 기부함에 따라 이루어졌다.[5]

    1. JDK 압축 풀기

    다운로드 주소

    Archived OpenJDK GA Releases
    This page is an archive of previously released builds of the JDK licensed under the GNU General Public License, version 2, with Classpath Exception.
    Archived OpenJDK GA Releases
    https://jdk.java.net/archive/

    다운로드 링크

    download.java.net
    https://download.java.net/java/GA/jdk21/fd2272bbf8e04c3dbaee13770090416c/35/GPL/openjdk-21_windows-x64_bin.zip
    notion image
    notion image

    2. 압축 해제 된 파일 다음 경로로 이동

    notion image

    3. 명령 프롬프트 열기

    notion image
    ❔
    notepad가 cmd 에서 왜 실행됐는지 설명
    ❕notepad가 있는 폴더(system32)가 환경 path에 등록되어 있기 때문에 실행됨
    실행명령을 하면 외부 환경(path)에 등록되어 있는지 먼저 확인하고 내부(현재폴더)를 확인함.

    4. JDK bin 폴더 환경 변수 설정 🚫

    • JAVA_HOME 만 있으면 됨
    notion image
    notion image
    notion image
    notion image
    notion image

    5. 환경 변수(패스) 적용

    • 재부팅
    • 명령 프롬프트 재시작
    • java —version 명령어로 확인
    notion image

    6. 환경 변수에 JAVA_HOME 등록

    JAVA_HOME이 필요한 이유:
    1. 빌드 도구가 참조함 Maven, Gradle 같은 빌드 도구는 JAVA_HOME 환경변수를 보고 어떤 JDK로 컴파일할지 결정합니다.
    2. 다른 도구들의 의존성 Tomcat, Spring Boot, IDE 플러그인 등 많은 Java 관련 도구들이 JAVA_HOME을 기준으로 JDK 경로를 찾습니다.
    3. PATH만으로는 부족PATH에 java.exe가 있어도, 빌드 도구는 JDK 전체 경로(컴파일러 javac, 라이브러리 rt.jar 등)가 필요합니다. JAVA_HOME이 있어야 %JAVA_HOME%\bin\javac, %JAVA_HOME%\lib\... 이런 식으로 접근할 수 있습니다.
    notion image
    notion image
    notion image
    notion image
    • 위처럼 자바 경로 변경
    notion image
    • ECHO : OS의 print 같은 명령어
    • %JAVA_HOME% : 해당 이름으로 변수 설정을 하면 프로그램들이 자동으로 이 경로를 확인해서 자바를 찾아 준다.(약속)
    • 프롬프트 창은 켤때 환경 변수값을 읽기 때문에 변경하면 새로 켜야한다
     

    7. vscode 기반의 에디터에서 java red hat이 jre를 못찾는다고 한다면…

    notion image
    • 왼쪽 아래처럼 에러가 나타나면 확인
    notion image
    • 내가 설치한 jdk에 release 파일이 있는지 확인해라 이 파일이 있어야 동작한다
    • release 파일은 JDK의 메타데이터 파일입니다.
      • 내용을 열어보면 이런 식으로 되어 있습니다:
        • JAVA_VERSION="21.0.2" JAVA_VERSION_DATE="2024-01-16" OS_NAME="Windows" OS_ARCH="amd64" IMPLEMENTOR="Oracle Corporation" ...
      • VS Code의 Red Hat Java 확장은 이 파일을 읽어서 해당 폴더가 유효한 JDK인지, 어떤 버전인지 판단합니다.

    8. ??. 프로젝트에 java 버전 명시 - 필요한거 맞는지 검증

    21 버전이 아닌 다른 버전을 사용할 때 명시를 하지 않으면 vscode에서 빌드가 되지 않는다
    notion image
    루트에 gradle.properties 파일 생성
    org.gradle.java.installations.paths=C:\\workspace\\tools\\jdk-17

    9. 리눅스에 설치 및 세팅

    목적

    리눅스 환경에서 java, javac 명령이 바로 실행되도록 JDK를 설치하고 환경변수를 설정한다.

    1. 설치 방식

    [설치 방식] ├─ A. 패키지 매니저 설치 │ └─ apt install openjdk-17-jdk │ └─ B. 수동 설치 └─ Linux용 tar.gz 다운로드 후 원하는 경로에 압축 해제

    권장 기준

    A. apt 설치 - 가장 간단함 - Ubuntu 표준 방식 - PATH 연동이 쉬움 B. tar.gz 수동 설치 - 설치 경로를 직접 지정 가능 - 특정 버전 고정이 쉬움 - 여러 JDK 버전 관리할 때 유리

    2. 주의사항

    운영체제용 JDK를 맞춰야 한다

    호스트 PC가 Windows여도 WSL 내부는 Linux 이므로 반드시 Linux용 JDK를 설치해야 한다
    잘못된 예:
    • Windows용 zip
    • Windows용 .exe 포함 JDK
    올바른 예:
    • Linux/x64 64-bit tar.gz

    아키텍처 확인

    uname -m
    결과 예시:
    x86_64 -> Linux/x64 받으면 됨 aarch64 -> Linux/AArch64 받으면 됨
    대부분 WSL Ubuntu는 x86_64 이므로 Linux/x64 를 받으면 된다.

    3. 방법 A - apt로 설치

    설치

    sudo apt update sudo apt install -y openjdk-17-jdk

    확인

    java -version javac -version which java
    예상 결과:
    java 17.x javac 17.x /usr/bin/java

    JAVA_HOME 확인용 실제 경로 조회

    readlink -f $(which java)
    예시 결과:
    /usr/lib/jvm/java-17-openjdk-amd64/bin/java
    그러면 JAVA_HOME 은 다음이다.
    /usr/lib/jvm/java-17-openjdk-amd64

    JAVA_HOME 등록

    nano ~/.bashrc
    맨 아래 추가:
    export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 export PATH="$JAVA_HOME/bin:$PATH"
    반영:
    source ~/.bashrc
    확인:
    echo $JAVA_HOME which java java -version

    4. 방법 B - tar.gz로 원하는 경로에 수동 설치

    예시 설치 경로

    /home/ubuntu/workspace/tools/jdk-17

    1) Linux용 tar.gz 다운로드

    예:
    • openjdk-17_linux-x64_bin.tar.gz
    주의:
    • 반드시 Linux/x64 tar.gz
    • Windows zip 파일 아님

    2) 원하는 경로로 이동

    mkdir -p /home/ubuntu/workspace/tools cd /home/ubuntu/workspace/tools

    3) 압축 해제

    다운로드 파일이 Windows 다운로드 폴더에 있다면:
    tar -xzf /mnt/c/Users/사용자명/Downloads/openjdk-17_linux-x64_bin.tar.gz
    압축 해제 후 예시:
    /home/ubuntu/workspace/tools/jdk-17.0.1
    원하는 고정 이름으로 변경:
    mv /home/ubuntu/workspace/tools/jdk-17.0.1 /home/ubuntu/workspace/tools/jdk-17

    4) 환경변수 등록

    nano ~/.bashrc
    맨 아래 추가:
    export JAVA_HOME=/home/ubuntu/workspace/tools/jdk-17 export PATH="$JAVA_HOME/bin:$PATH"
    반영:
    source ~/.bashrc

    5) 확인

    echo $JAVA_HOME which java java -version javac -version
    정상 결과 예시:
    JAVA_HOME=/home/ubuntu/workspace/tools/jdk-17 which java -> /home/ubuntu/workspace/tools/jdk-17/bin/java

    5. 실행 권한 문제

    Windows 탐색기나 7-Zip으로 WSL 경로에 직접 압축을 풀면 실행 권한이 깨질 수 있다.
    증상:
    Permission denied
    예시:
    java -version -bash: /home/ubuntu/workspace/tools/jdk-17/bin/java: Permission denied

    해결

    chmod +x /home/ubuntu/workspace/tools/jdk-17/bin/*
    또는
    find /home/ubuntu/workspace/tools/jdk-17/bin -type f -exec chmod +x {} \;
    다시 확인:
    java -version javac -version

    6. 잘못 설치한 경우 구분법

    Windows용 JDK를 잘못 넣은 경우

    bin 폴더 안에 이런 파일이 보이면 Windows용이다.
    java.exe javac.exe jar.exe
    이 경우 WSL에서 그대로 쓰면 안 된다.

    Linux용 JDK 정상 예시

    bin/java bin/javac
    확인 명령:
    file /home/ubuntu/workspace/tools/jdk-17/bin/java
    정상 예시:
    ELF 64-bit LSB executable
    비정상 예시:
    • .exe
    • Windows executable

    7. 추천 구조

    /home/ubuntu/ └─ workspace/ ├─ project/ │ └─ 스프링 프로젝트 └─ tools/ └─ jdk-17/ ├─ bin/ ├─ lib/ └─ ...

    8. 최종 점검 체크리스트

    [최종 점검] ├─ Linux용 JDK를 설치했는가 ├─ JAVA_HOME 이 JDK 루트를 가리키는가 ├─ PATH 에 $JAVA_HOME/bin 이 등록되었는가 ├─ java -version 이 정상 출력되는가 ├─ javac -version 이 정상 출력되는가 └─ which java 결과가 의도한 경로인가
    확인 명령:
    echo $JAVA_HOME which java java -version javac -version

    9. 권장 결론

    일반적인 Ubuntu 사용: -> apt install openjdk-17-jdk 권장 설치 경로를 직접 지정해야 함: -> Linux/x64 tar.gz 수동 설치 권장

    10. 실사용 예시

    apt 방식

    sudo apt update sudo apt install -y openjdk-17-jdk readlink -f $(which java) nano ~/.bashrc source ~/.bashrc java -version javac -version

    수동 설치 방식

    mkdir -p /home/ubuntu/workspace/tools cd /home/ubuntu/workspace/tools tar -xzf /mnt/c/Users/사용자명/Downloads/openjdk-17_linux-x64_bin.tar.gz mv jdk-17.0.1 jdk-17 echo 'export JAVA_HOME=/home/ubuntu/workspace/tools/jdk-17' >> ~/.bashrc echo 'export PATH="$JAVA_HOME/bin:$PATH"' >> ~/.bashrc source ~/.bashrc chmod +x /home/ubuntu/workspace/tools/jdk-17/bin/* java -version javac -version which java
     
    Share article
    Contents
    1. JDK 압축 풀기다운로드 주소다운로드 링크2. 압축 해제 된 파일 다음 경로로 이동3. 명령 프롬프트 열기4. JDK bin 폴더 환경 변수 설정 🚫5. 환경 변수(패스) 적용6. 환경 변수에 JAVA_HOME 등록7. vscode 기반의 에디터에서 java red hat이 jre를 못찾는다고 한다면…8. ??. 프로젝트에 java 버전 명시 - 필요한거 맞는지 검증9. 리눅스에 설치 및 세팅목적1. 설치 방식2. 주의사항3. 방법 A - apt로 설치4. 방법 B - tar.gz로 원하는 경로에 수동 설치5. 실행 권한 문제6. 잘못 설치한 경우 구분법7. 추천 구조8. 최종 점검 체크리스트9. 권장 결론10. 실사용 예시

    jjack1

    RSS·Powered by Inblog