Bagaimana saya memeriksa apakah Java JDK diinstal pada Mac?

125

Bagaimana Anda memeriksa apakah Java SDK diinstal pada Mac?

Apakah ada baris perintah untuk ini?

kiwi yang marah
sumber
"perangkat lunak itu tidak berjalan" Apa output kesalahannya?
Andrew Thompson

Jawaban:

183

javac -version di terminal akan dilakukan


sumber
Saya mendapat "javac 1.6.0_37" apakah ini setara dengan jdk 6 atau 7?
Kiwi
7
Namun, jika Java tidak diinstal, kotak dialog akan muncul memberitahukan Anda bahwa Java perlu diinstal, jadi ini bukan pilihan yang baik untuk skrip.
kutu buku yang dibayar
70

Anda dapat memanfaatkan java_homebiner pembantu OS Xuntuk apa yang Anda cari.

Untuk daftar semua versi JDK yang diinstal:

$ /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

Untuk meminta jalur JAVA_HOME dari versi JDK tertentu, Anda dapat melakukan:

$ /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

Anda dapat memanfaatkan perintah di atas dalam skrip Anda seperti ini:

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

Anda mungkin dapat melakukan if-else dan memeriksa beberapa versi java yang berbeda juga.

Jika Anda lebih suka keluaran XML, java_home juga memiliki opsi -X untuk menghasilkan dalam XML.

$ /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.
Tuxdude
sumber
17

Ketikkan terminal:

which javac

Seharusnya menunjukkan sesuatu seperti

/usr/bin/javac
Asgoth
sumber
12
-1 untuk jawabannya: keberadaan perintah java di jalur tidak bersaksi bahwa JDK diinstal (tetapi JRE)
Luigi R. Viggiano
Saya setuju. Saya dapat menjalankan "yang java" atau "yang javac", tetapi saya mendapat pesan kesalahan ketika menjalankan "java --version" karena JDK tidak diinstal.
fanchyna
1
-1 Ini sepenuhnya salah. Semua Mac datang dengan javacshim secara default. Tidak ada kaitannya dengan apakah Java diinstal atau tidak.
Radon Rosborough
3

Perintah di bawah ini bekerja dengan cukup baik:

javac -version

Saya juga diverifikasi secara manual dengan menavigasi ke Folder Java di Mac saya

/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk
Mir Kazim Ali Tabrez
sumber
2

/usr/bin/java_home alat mengembalikan 1 jika java tidak diinstal.

Jadi, Anda dapat memeriksa apakah java diinstal dengan cara berikut:

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

Cukup ketik javac. Jika diinstal, Anda mendapatkan informasi penggunaan, jika tidak, ia hanya akan menanyakan apakah Anda ingin menginstal Java.

Hari Dattada
sumber
0

Pastikan Anda mendefinisikan JDK proyek dengan benar dan mulai kembali IntelliJ (restart penuh).

Luís Soares
sumber
0
  • Terminal terbuka.
  • jalankan perintah untuk melihat:

    javac -versi

  • Anda juga dapat memverifikasi secara manual dengan pergi ke lokasi tertentu dan kemudian memeriksa. Untuk melakukan ini jalankan perintah di bawah ini di terminal mac

    cd / Library / Java / JavaVirtualMachines /

Kemudian jalankan lsperintah di terminal lagi. Sekarang Anda dapat melihat versi & paket jdk jika ada di komputer Anda.

Mohtasim
sumber