JAVA_HOME

  • Java Development Kit (JDK)가 설치된 경로를 지정하는 환경 변수
  • 용도: 여러 Java 기반 도구와 애플리케이션에서 Java의 설치 경로를 참조하는 데 사용된다.
    예를 들어, Maven, Gradle 등과 같은 빌드 도구가 JAVA_HOME을 사용하여 JDK를 찾는다.

PATH

  • 정의: 실행 가능한 프로그램의 경로를 지정하는 환경 변수
  • 용도: 터미널에서 Java 명령어(java, javac 등)를 언제 어디서나 사용할 수 있도록 하기 위해, Java 실행 파일이 위치한 bin 디렉토리 PATH에 추가하고 이를 통해 사용자는 java -version과 같은 명령어 사용할 수 있게 된다.

 

설정 예시

# JAVA_HOME 설정
export JAVA_HOME=/app/java8

# PATH에 JAVA_HOME/bin 추가
export PATH=$PATH:$JAVA_HOME/bin

 

이렇게 설정하면, Java JDK가 설치된 경로와 실행 파일 경로를 모두 사용할 수 있다!

 


 

 

$PATH: 이건 또 뭐얏?!

$PATH는 현재 사용자의 환경 변수 중 하나로, 실행 가능한 프로그램의 경로를 포함하는 문자열이다.

이 변수는 터미널에서 명령어를 입력했을 때, 시스템이 해당 명령어를 찾기 위해 검색하는 디렉토리 목록을 정의한다.

  1. 경로 목록:
    • $PATH는 여러 디렉토리 경로를 콜론(:)으로 구분하여 나열한 문자열이다.
      /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
      
    • 이 경우, 시스템은 이 경로들에서 차례로 명령어를 찾습니다.
  2. 명령어 실행:
    • 사용자가 터미널에서 명령어를 입력하면, 시스템은 $PATH에 나열된 디렉토리에서 해당 명령어를 검색한다.
    • 만약 명령어가 $PATH에 포함된 디렉토리 중 하나에 존재하면, 그 프로그램이 실행된다.
  3. 환경 변수 설정:
    • 새로운 경로를 추가하려면, PATH 변수에 새로운 경로를 추가할 수 있다.
      export PATH=$PATH:/new/directory/path
      
    • 이 명령어는 기존의 PATH에 /new/directory/path를 추가합니다.

$PATH가 올바르게 설정되지 않으면, 시스템이 특정 명령어를 찾지 못해 "command not found" 오류가 발생할 수 있다.

 

 


 

JAVA_HOME과 PATH를 동시에 설정하는 이유

 

1. 명확한 경로 지정

  • JAVA_HOME: JDK의 설치 위치를 명확하게 지정하게 되면 이는 여러 도구와 애플리케이션에서 Java의 설치 경로를 찾는 데 사용되며, 경로를 변경할 필요가 있을 때 한 곳만 수정하면 된다.
  • PATH: Java 실행 파일(java, javac 등)이 위치한 디렉토리를 추가하여, 터미널에서 간편하게 Java 명령어를 사용할 수 있게 한다.

2. 도구와 애플리케이션 호환성

  • 많은 Java 기반 도구(예: Maven, Gradle 등)는 JAVA_HOME 환경 변수를 사용하여 JDK를 찾게 되고 이 변수 없이는 도구가 Java를 제대로 인식하지 못할 수 있다.
  • PATH가 설정되어 있지 않으면, 사용자가 터미널에서 Java 명령어를 입력할 때 "명령어를 찾을 수 없음"이라는 오류가 발생할 수 있다.

3. 편리함

  • JAVA_HOME과 PATH를 모두 설정하면, Java 개발 환경을 설정하는 데 있어 더 편리하다. 코드 작성, 빌드 및 실행 과정에서 Java 관련 명령어를 쉽게 사용할 수 있고, 도구들이 JDK를 쉽게 찾을 수 있다.

4. 유지 보수 용이성

  • JDK의 경로가 변경되거나 업그레이드할 경우, JAVA_HOME만 수정하면 되므로 유지 보수가 용이하다. PATH에 추가된 경로는 변하지 않으므로, 단일 경로만 변경하면 된다.

+ Recent posts