Come faccio a controllare se il JDK Java è installato sul Mac?

Come si fa a controllare se l’SDK Java è installato su un Mac?

C’è una riga di comando per questo?

  • Javac ………
  • “che il software non è in esecuzione” che Cos’è l’errore in uscita?
InformationsquelleAutor angry kiwi | 2013-01-12



7 Replies
  1. 159

    javac -version in un terminale farà

    • Ho preso “javac 1.6.0_37” è l’equivalente di jdk 6 o 7?
    • 1.6 così jdk 6.
    • Tuttavia, se Java non è installato, apparirà una finestra di dialogo dicendo che Java deve essere installato, in modo che questa non è una buona opzione per gli script.
  2. 57

    È possibile sfruttare il java_home helper binario OS X per quello che stai cercando.

    Alla lista di tutte le versioni di installato il 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

    Per richiedere la JAVA_HOME percorso di un determinato JDK versione, si può fare:

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

    Si potrebbe approfittare dei comandi in uno script come questo:

    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

    Si potrebbe essere in grado di fare if-else e di controllo per le diverse versioni di java e.

    Se si preferisce output XML, java_home ha anche una opzione-X di output in formato 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.
    • Questo dovrebbe essere accettato risposta
  3. 18

    Digitare in un terminale:

    which javac

    Dovrebbe mostrare qualcosa di simile

    /usr/bin/javac
    • +1 per i tempi 😉
    • -1 per la risposta: la presenza di java comando nel percorso non porta testimonianza che il JDK installato (JRE)
    • Sospiro, javac quindi…
    • Sono d’accordo. Ho potuto correre “java” o “che javac”, ma ho avuto un messaggio di errore quando si esegue “java-version” perché JDK non è installato.
    • -1 Questo è completamente sbagliato. Tutti i Mac sono dotati di un javac shim per impostazione predefinita. Esso non ha alcuna relazione con se o non Java è installato.
  4. 1

    Solo tipo di javac. Se è installato ottenere informazioni sull’utilizzo, altrimenti sarebbe solo chiedere se si desidera installare Java.

  5. 1

    /usr/bin/java_home strumento restituisce 1 se java non è installato.

    Modo da poter verificare se java è installato da modo seguente:

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

    Sotto il comando ha funzionato abbastanza bene:

    javac -version

    Ho anche verificato manualmente accedendo alla Cartella Java sul mio Mac

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

Lascia un commento