la ligne de commande java nécessite JDK sur Mac?


J'ai installé JRE 1.8 sur macOS X 10.10 à partir du site officiel Oracle. Le fichier que j'ai installé était jre-8u66-macosx-x64.dmg. À ma grande surprise, la commande java dit que j'ai besoin de JDK pour que cela fonctionne.

Existe-t-il un moyen d'exécuter un fichier jar à partir de la ligne de commande sur Mac sans JDK? Sinon, quelles sont les options pour exécuter du code Java (autres que les applets de navigateur)?

EDIT: lors de l'appel de {[3] } à partir de la ligne de commande, j'obtiens la sortie suivante:

Aucun runtime Java présent, demandant installer.

Et une fenêtre d'alerte, qui dit:

Pour utiliser l'outil de ligne de commande "java", vous devez installer un JDK.

Un point de données de plus: le dossier /Library/Java/JavaVirtualMachines est vide. Au lieu de cela, il y a des choses sous /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home. Il a même une ligne de commande java sous /bin/. L'exécuter avec -version donne:

java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)

Je me demande si je peux en quelque sorte tirer parti de celui-ci pour CLI..

Author: Seva Alekseyev, 2015-12-03

2 answers

Dans le cas où une réinstallation ne résout pas le problème, vous pouvez définir JAV JAVA_HOME à l'emplacement où java est installé:

export JAVA_HOME=/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

Après cela, java -v devrait fonctionner, mais vous aurez à le faire pour chaque nouvelle fenêtre de terminal, ou l'ajouter à .bash_profile ou un autre fichier en fonction du shell que vous utilisez.

 1
Author: cello, 2015-12-03 20:25:46

Oui, la fonctionnalité Java complète sur la ligne de commande nécessite le SDK.

Le SDK fournit une installation Java qui inclut des bibliothèques spécifiques au système d'exploitation qui ne sont pas incluses pour le coureur d'applet. Je suppose qu'un sous-ensemble d'applications et d'applets Java peut fonctionner correctement à partir de la ligne de commande, mais le plugin applet fournit différents services.

Cela m'a ennuyé pendant des années, car de temps en temps j'ai besoin d'un environnement Java, mais la plupart du temps je préférerais n'en avoir aucune trace sur mon système. Même quand je avez-vous le plugin de navigateur installé, il est généralement désactivé.

 3
Author: Taryn, 2017-04-03 23:29:23