program tip

Linux의 JAVA_HOME 디렉토리

radiobox 2020. 11. 29. 10:12
반응형

Linux의 JAVA_HOME 디렉토리


JAVA_HOME디렉토리 를 찾는 데 사용할 수있는 Linux 명령이 있습니까? 환경 변수 ( "env")를 인쇄 해 보았지만 디렉토리를 찾을 수 없습니다.


echo $JAVA_HOME설정된 경우 값을 인쇄합니다. 그러나 시작 스크립트에서 수동으로 설정하지 않은 경우 설정되지 않았을 수 있습니다.

시도 which java했지만 아무것도 찾지 못하면 Java가 컴퓨터에 설치되지 않았거나 적어도 경로에 없을 수 있습니다. 사용중인 Linux 배포판과 루트 액세스 권한이 있는지 여부에 따라 http://www.java.com 으로 이동하여 필요한 버전을 다운로드 할 수 있습니다. 그런 다음이 디렉토리를 가리 키도록 JAVA_HOME을 설정할 수 있습니다. 이것은 단지 관례 일 뿐이며 Java가 설치되었는지 여부를 결정하는 데 사용되어서는 안됩니다.


Linux에서는 다음을 실행할 수 있습니다. $(dirname $(dirname $(readlink -f $(which javac))))

Mac에서 실행할 수 있습니다. $(dirname $(readlink $(which javac)))/java_home

창문에 대해서는 잘 모르겠지만 where javac꽤 가까이 다가 갈 수있을 것 같아요


늦었다는 것을 알고 있지만이 명령은 / usr / 디렉토리를 검색하여 Java를 찾습니다.

sudo find /usr/ -name *jdk

결과

/usr/lib/jvm/java-6-openjdk
/usr/lib/jvm/java-1.6.0-openjdk

참고로 Mac을 사용하는 경우 현재 JAVA_HOME은 다음 위치에 있습니다.

/System/Library/Frameworks/JavaVM.framework/Home


또 다른 솔루션 인이 플랫폼의 크로스 플랫폼 (사용 java)은 jre의 위치를 ​​알려줍니다.

java -XshowSettings:properties -version 2>&1 > /dev/null | grep 'java.home'

java의 현재 설정을 모두 출력하고 라는 설정을 찾습니다 java.home.

Windows의 경우 grep 대신 findstr을 사용할 수 있습니다.

java -XshowSettings:properties -version 2>&1 | findstr "java.home"

사용하는 환경 변수의 값을 표시하려면 다음을 수행하십시오.

$ VARIABLE 에코

따라서 귀하의 경우는 다음과 같습니다.

echo $ JAVA_HOME

설정하지 않은 경우 .bashrc파일에 추가 할 수 있습니다 .

export JAVA_HOME = $ (readlink -f / usr / bin / java | sed "s : bin / java ::")

패키지를 업데이트하면 동적으로 변경됩니다.


$JAVA_HOME환경에 정의 된 경우 ...

$ echo $JAVA_HOME
$ # I am not lucky...

로드 된 클래스에서 추측 할 수 있습니다.

$ java -showversion -verbose 2>&1 | head -1
[Opened /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64/jre/lib/rt.jar]

이 방법을 사용하면 여러 설치가있는 경우 올바른 jdk/ jre사용 된 것을 찾을 수 있습니다 .

또는 사용 strace:

$ strace -e open java -showversion 2>&1 | grep -m1 /jre/
open("/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64/jre/bin/../lib/amd64/jli/tls/x86_64/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)

터미널에서 다음을 입력합니다.

echo "$ JAVA_HOME"

아무것도 얻지 못하면 환경 변수 JAVA_HOME이 설정되지 않은 것입니다. "locate java"를 사용하여 Java 설치 위치를 찾아 볼 수 있습니다.


JAVA_HOME을 설정 했습니까?

  • Korn 및 bash 쉘 : export JAVA_HOME = jdk-install-dir
  • Bourne 쉘 : JAVA_HOME = jdk-install-dir; export JAVA_HOME
  • C 쉘 : setenv JAVA_HOME jdk-install-dir

다음은 stdout에 대한 디렉터리 만 가져 오는 개선 사항입니다.

java -XshowSettings:properties -version 2>&1 \
   | sed '/^[[:space:]]*java\.home/!d;s/^[[:space:]]*java\.home[[:space:]]*=[[:space:]]*//'

http://www.gnu.org/software/sed/manual/html_node/Print-bash-environment.html#Print-bash-environment

If you really want to get some info about your BASH put that script in your .bashrc and watch it fly by. You can scroll around and look it over.

참고URL : https://stackoverflow.com/questions/1117398/java-home-directory-in-linux

반응형