Java는 매우 인기 있는 프로그래밍 언어이며, 여러 Java 버전을 관리하는 것은 어려운 작업이 될 수 있습니다. 이럴 때 jEnv가 유용합니다. 이 블로그 게시물에서는 다양한 플랫폼에 대한 설치 지침을 포함하여 jEnv의 가장 많이 사용되는 기능을 다루고 Java 버전을 쉽게 관리할 수 있도록 도와드립니다.

I. 개요

jEnv는 시스템에서 여러 Java 버전을 관리할 수 있는 명령줄 도구입니다. 프로젝트별, 셸 세션별 또는 시스템 전체에서 원하는 Java 버전을 설정할 수 있습니다. jEnv를 사용하면 서로 다른 Java 버전이 필요한 여러 프로젝트 간의 충돌을 방지하고 보다 원활한 개발 환경을 보장할 수 있습니다.

II. 설치

Mac

macOS에 jEnv를 설치하려면 Homebrew 패키지 관리자를 사용하면 됩니다. 아직 Homebrew를 설치하지 않은 경우 설치 지침을 여기에서 확인할 수 있습니다.

brew install jenv

설치가 완료되면 사용 중인 셸에 따라 ~/.bash_profile, ~/.zshrc 또는 ~/.bashrc 파일에 다음 줄을 추가합니다:

export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"

Linux

Linux에 jEnv를 설치하려면 다음 명령을 실행합니다:

git clone https://github.com/jenv/jenv.git ~/.jenv

리포지토리를 복제한 후 사용 중인 셸에 따라 ~/.bashrc 또는 ~/.zshrc 파일에 다음 줄을 추가합니다:

export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"

III. 사용법

local

local 명령은 특정 디렉터리의 Java 버전을 설정합니다. 이 명령은 Java 버전 요구사항이 다른 여러 프로젝트에서 작업할 때 유용합니다.

jenv local 11.0.2

global

global 명령은 전체 시스템의 기본 Java 버전을 설정합니다. local 또는 shell 명령으로 다른 버전을 지정하지 않으면 이 버전이 사용됩니다.

jenv global 11.0.2

shell

shell 명령은 현재 셸 세션의 Java 버전을 설정합니다. 이 명령은 다른 프로젝트나 세션에 영향을 주지 않고 다른 Java 버전을 일시적으로 사용하려는 경우에 유용합니다.

jenv shell 11.0.2

rehash

rehash 명령은 jEnv에 알려진 모든 Java 실행 파일에 대한 쉼을 생성합니다. 이 명령은 새 Java 버전을 설치한 후 또는 jEnv가 일부 Java 실행 파일을 인식하지 못할 때 유용합니다.

jenv rehash

version

version 명령은 현재 활성화된 Java 버전을 표시합니다.

jenv version

versions

versions 명령은 설치된 모든 Java 버전을 나열하고 현재 활성 상태인 버전을 별표로 표시합니다.

jenv versions

which

which 명령은 현재 활성 상태인 버전의 Java 실행 파일 경로를 표시합니다.

jenv which java

whence

whence 명령은 특정 명령이 포함된 모든 Java 버전을 나열합니다.

jenv whence java

add

add 명령은 새 Java 버전을 jEnv에 등록합니다. Java 설치 디렉토리의 경로를 제공해야 합니다.

jenv add /path/to/java/home

IV. 결론

jEnv는 자바 버전 관리를 간소화하는 강력한 도구입니다. local, global, shell과 같은 기능을 사용하면 프로젝트별 또는 세션별로 Java 버전을 쉽게 전환할 수 있습니다. rehash, version, versions, which, whence, add 명령은 Java 설치를 관리하고 구성하는 기능을 더욱 향상시킵니다. jEnv를 사용하면 개발 워크플로우를 간소화하고 버전 충돌을 방지하며 프로젝트가 원하는 Java 버전에서 실행되도록 보장할 수 있습니다. 여러 Java 프로젝트를 진행 중이거나 단순히 Java 환경을 더 잘 제어하고 싶을 때 jEnv는 Java 개발자에게 없어서는 안 될 도구입니다.