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.