Mac에 Java JDK가 설치되어 있는지 어떻게 확인합니까?


125

Mac에 Java SDK가 설치되어 있는지 어떻게 확인합니까?

이에 대한 명령 줄이 있습니까?


"해당 소프트웨어가 실행되고 있지 않습니다." 오류 출력은 무엇입니까?
Andrew Thompson

답변:


184

javac -version 터미널에서 할 것입니다


"javac 1.6.0_37"이 있습니다. jdk 6 또는 7과 동일합니까?
angry kiwi

7
그러나 Java가 설치되어 있지 않으면 Java를 설치해야한다는 대화 상자가 표시되므로 스크립트에 적합한 옵션이 아닙니다.
유료 괴짜

71

원하는 항목에 java_home도우미 바이너리를 활용할 수 있습니다 OS X.

설치된 JDK의 모든 버전을 나열하려면 다음을 수행하십시오.

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
    1.8.0_51, x86_64:   "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home
    1.7.0_79, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home

특정 JDK 버전의 JAVA_HOME 경로를 요청하려면 다음을 수행하십시오.

$ /usr/libexec/java_home -v 1.7
/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home

$ /usr/libexec/java_home -v 1.8
/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home

다음과 같이 스크립트에서 위의 명령을 활용할 수 있습니다.

REQUESTED_JAVA_VERSION="1.7"
if POSSIBLE_JAVA_HOME="$(/usr/libexec/java_home -v $REQUESTED_JAVA_VERSION 2>/dev/null)"; then
    # Do this if you want to export JAVA_HOME
    export JAVA_HOME="$POSSIBLE_JAVA_HOME"
    echo "Java SDK is installed"
else
    echo "Did not find any installed JDK for version $REQUESTED_JAVA_VERSION"
fi

if-else를 수행하고 여러 버전의 Java를 확인할 수도 있습니다.

XML 출력을 선호하는 경우 java_home에는 XML로 출력하는 -X 옵션도 있습니다.

$ /usr/libexec/java_home --help
Usage: java_home [options...]
    Returns the path to a Java home directory from the current user's settings.

Options:
    [-v/--version   <version>]       Filter Java versions in the "JVMVersion" form 1.X(+ or *).
    [-a/--arch      <architecture>]  Filter JVMs matching architecture (i386, x86_64, etc).
    [-d/--datamodel <datamodel>]     Filter JVMs capable of -d32 or -d64
    [-t/--task      <task>]          Use the JVM list for a specific task (Applets, WebStart, BundledApp, JNI, or CommandLine)
    [-F/--failfast]                  Fail when filters return no JVMs, do not continue with default.
    [   --exec      <command> ...]   Execute the $JAVA_HOME/bin/<command> with the remaining arguments.
    [-R/--request]                   Request installation of a Java Runtime if not installed.
    [-X/--xml]                       Print full JVM list and additional data as XML plist.
    [-V/--verbose]                   Print full JVM list with architectures.
    [-h/--help]                      This usage information.

18

터미널 입력 :

which javac

다음과 같은 것을 보여줄 것입니다.

/usr/bin/javac

12
-1 답변 : 경로에 java 명령의 존재는 JDK가 설치되어 있는지 증언하지 않습니다 (하지만 JRE)
루이지 R. Viggiano

나는 동의한다. "which java"또는 "which javac"를 실행할 수 있지만 JDK가 설치되어 있지 않기 때문에 "java --version"을 실행할 때 오류 메시지가 나타납니다.
fanchyna

1
-1 이것은 완전히 잘못되었습니다. 모든 Mac javac에는 기본적으로 shim이 있습니다. Java 설치 여부와 관계가 없습니다.
Radon Rosborough

3

아래 명령은 꽤 잘 작동했습니다.

javac -version

또한 Mac의 Java 폴더로 이동하여 수동으로 확인했습니다.

/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk

2

/usr/bin/java_home Java가 설치되지 않은 경우 도구는 1을 반환합니다.

따라서 다음 방법으로 java가 설치되었는지 확인할 수 있습니다.

/usr/libexec/java_home &> /dev/null && echo "installed" || echo  "not installed"

1

그냥 입력하십시오 javac. 설치되어 있으면 사용 정보를 얻습니다. 그렇지 않으면 Java를 설치할 것인지 묻습니다.



0
  • 터미널을 엽니 다.
  • 확인하려면 명령을 실행하십시오.

    javac-버전

  • 또한 특정 위치로 이동하여 수동으로 확인한 다음 확인할 수 있습니다. 이를 수행하려면 Mac 터미널에서 아래 명령을 실행하십시오.

    cd / Library / Java / JavaVirtualMachines /

그런 다음 ls터미널에서 명령을 다시 실행 하십시오. 이제 컴퓨터에있는 경우 jdk 버전 및 패키지를 볼 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.