Java 용 JAVA_HOME을 설정하는 방법은 무엇입니까?


303

Java 버전을 설치했습니다. $JAVA_HOME환경 변수를 올바르게 설정하려면 어떻게 해야합니까?

답변:


422

당신은 설정할 수 있습니다 JAVA_HOME에서을 /etc/profilePetronilla Escarabajo가 제안합니다. 그러나 JAVA_HOME시스템 변수 의 기본 위치 는 /etc/environment입니다.

또는 /etc/environment같은 텍스트 편집기에서 열고 다음 줄을 추가하십시오.nanogedit

JAVA_HOME="/usr/lib/jvm/open-jdk"

(자바 경로가 다를 수 있음)

source다음 명령을 실행하여 변수를로드하는 데 사용하십시오 .

source /etc/environment

그런 다음이 명령을 실행하여 변수를 확인하십시오.

echo $JAVA_HOME

최신 정보

일반적으로 대부분의 Linux 시스템은 기본적으로 / etc / environment를 소스합니다. 시스템이 그렇게하지 않으면 다음 줄을 ~/.bashrc(Thanks @pje)에 추가하십시오.

source /etc/environment

2
Android Studio (IntelliJ IDEA를 기본으로 사용)를 실행하려고 할 때 @advocate와 매우 유사한 오류 메시지가 표시되었습니다. " 'tools.jar'이 (가) Android Studio 클래스 경로에없는 것 같습니다." JAVA_HOME으로 많은 성공을 거둔 후 Android Studio를 시작하는 셸 스크립트 인 studio.sh를 살펴보기로 결정했습니다. 거친 추측으로, JDK_HOME을 JAVA_HOME에 예상되는 것과 동일한 값으로 설정했습니다. 큰 문제없이 설치되었습니다.
Hilton Fernandes

3
소프트웨어 개발을 수행하는 사용자는 JDK 버전을 전환 할 때마다 재부팅하지 않는 한 JAVA_HOME을 / etc / environment에 두지 마십시오.
HDave

2
다른 사람들이 지적했듯이 이것은 임시 해결책입니다. bash를 다시 시작할 때마다 아무도 소스를 실행하고 싶지 않습니다.
yuranos87

6
다른 사람들이 지적했듯이 이것은 터미널 세션 사이에 붙어 있지 않습니다. 이 문제를 해결 source /etc/environment하기 위해 ~/.bashrc시작한 모든 환경 설정을로드하도록 bash 구성 파일 맨 위에 줄 을 추가 했습니다. 지금까지 나를 위해 일하고 있습니다.
pje

2
@sedulam 나는 답변을 업데이트
Manula Waidyanatha

79

JAVA_HOME환경 변수 를 설정하려면 다음을 수행하십시오.

  1. 키보드에서 Ctrl+ Alt+ T를 눌러 터미널을 시작 하십시오.
  2. 다음 명령을 입력하십시오 :
    $gksudo gedit /etc/environment
  3. Java를 설치 한 위치에 따라 전체 경로를 제공해야합니다. 이 예에서는 /usr/lib/jvm/java-7-oracle디렉토리 에 Oracle JDK 7을 설치했습니다 .
    파일 끝으로 스크롤하여 다음을 입력하십시오.
    JAVA_HOME=/usr/lib/jvm/java-7-oracle
    export JAVA_HOME
  4. 파일을 저장하고 gedit를 종료하십시오 .
  5. 마지막으로 다음 명령을 사용하여 시스템 PATH를 다시로드하십시오.
    $. /etc/environment

위의 방법을 사용하면 컴퓨터에 로그인 할 때마다 명령을 실행해야하는 번거 로움이 줄어 듭니다.


5
어떻게합니까. / etc / environment 작업?
Sudip Bhandari

1
export명령을 추가 해야 /etc/environment합니까?
pkaramol

@ pkaramol 시작시로드되도록 16.04LTS에 내보내기 JAVA_HOME을 추가해야했습니다.
adeen-s

3
@ adeen-s 당신 export은 라인에 추가 /etc/environment하고 도움이? 이 파일에는 =-구분 된 이름-값 쌍 으로 구문 분석 된 변수 정의가 포함되어 있습니다 . 내용은 명령으로 실행되지 않습니다. (. 참조 man pam_env) 따라서 파일을 스크립트처럼 ( bash의 / 내장 으로 전달하는 것처럼) 별도로 처리 하지 않는 한 작동하지 않을 것으로 예상됩니다. /etc/environment.source
Eliah Kagan

> 어떻게합니까. / etc / environment 작업? -. (점) 파일에서 명령을로드 askubuntu.com/a/232938/189965
로마 Bekkiev에게

37

경로를 모르고 openJDK 만 설치 한 경우 입력 update-alternatives --config java하면 경로를 찾을 수 있습니다 . 변수를 설정하려면 JAVA_HOME=<PATH>다음에 쓸 수 있습니다 export JAVA_HOME. 변수를 선언 할 때 공간이 없습니다. 변수가 저장 echo $JAVA_HOME되어 있는지 확인 하려면 간단히 입력 하여 확인하십시오.


이것은 정적 인 것처럼 보입니다. openjdk-7을 제거하고 openjdk-9를 설치하면 JAVA_HOME이 잘못된 위치를 가리 키지 않습니까? 어떻게 동적으로 만들 수 있습니까?
DavidJ

3
수동으로 변경함으로써. 다시 한번, 당신은 그것이 역동적이되는 길입니다 ....
HDave

@HDave의 의미는 특정 경우에 JAVA_HOME이 특정 Java 버전을 가리 키도록하므로 JAVA_HOME을 동적으로 업데이트하는 것이 원하는 것이 아닐 수 있습니다.
Maciej

나는이 대답을 좋아한다. 나는 echo로 테스트하고 내 길을 봅니다. 그러나, 나는 아직도 받고있는 이유 혼란 스러워요 JAVA_HOME의 내가 MVN -version 실행할 때 설정되지 않은 환경 변수
Winnemucca

1
나는 더 무지했을 때이 답을 썼습니다. 설명 된대로 변수를 설정하면 현재 터미널 세션에만 영향을 미치며 지속되지 않습니다. 올바른 방법은 update-alternatives --install <link> <name> <target> <priority> 예를 들면 다음과 같습니다.update-alternatives --install /usr/bin/java java /usr/lib/jvm/default-runtime/bin/java 1
Erro
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.