Installé Java 7 sur Mac OS X mais le Terminal utilise toujours la version 6

j'ai installé JDK 7u7 téléchargé à partir du site d'oracle. Mais après l'installation, le terminal affiche toujours la version java 6

$java -version
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-11M3811)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01-428, mixed mode)

savez-vous pourquoi java 7 n'apparaît pas?

Ans: OK, le problème a été résolu. Voici la réponse: J'ai trouvé que mon Terminal a un .bash_profile et la variable java home est fixée à 1.6

export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home"

donc c'est la ligne qui cause le problème à chaque fois que j'ouvre une nouvelle fenêtre de terminal. Il suffit de supprimer cette ligne résoudra le problème. Vous devez toujours suivre ce que @aleroot dit, mais si cela ne fonctionne pas pour vous, vérifiez les .bash_profile (ou .bashrc) paramétrant le fichier pour voir si vous avez déjà exporté une version java.

359
demandé sur Yang 2012-10-06 11:01:05

24 réponses

parce que vous devez entrer dans Java Preferences pane et marquer seulement la JVM 7 de cette façon:

Java Preferences

pour ouvrir facilement et rapidement le Préférences Java volet dans Mac OS X vous pouvez simplement appeler spotlight avec + espace et tapez préférences de système il apparaîtra dans la dernière ligne de la fenêtre.

61
répondu aleroot 2015-10-03 19:35:02

l'installateur D'Oracle place java à l'intérieur du /Library/Internet Plug-Ins/JavaAppletPlugin.plugin . Et il n'écrira pas /usr/bin/java . Donc, si vous émettez un

whereis java

dans le terminal, il renvoie / usr/bin / java. (qui à son tour pointe à /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java , qui est la version 1.6 D'Apple).

donc, si vous voulez utiliser la nouvelle version java, remplacer le /usr/bin/java symlink de sorte qu'il pointe à /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java à la place:

sudo rm /usr/bin/java
sudo ln -s /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin
289
répondu Ákos 2015-02-27 19:55:24

installez le JDK 7 et ce problème va se résoudre.

assurez-vous d'obtenir le Java Development Kit (JDK) qui inclut des compilateurs et des trucs comme ça, plutôt que L'environnement Java Runtime (JRE) .

111
répondu BrainO2 2016-08-03 17:24:11

vi ~/.bash_profile

ajouter

export JAVA_HOME=`/usr/libexec/java_home -v 1.7`

indique à votre cible de lien /usr/bin/java d'utiliser le dernier paquet Java 7 installé dans

/Library/Java/JavaVirtualMachines/

donc pour JDK 1.7.0_17 JAVA_HOME serait:

/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home

Note: il y a eu beaucoup de changement dans ce domaine récemment pour déplacer Mac OS X d'Appels propre système intégration de paquets Java à des paquets Java basés sur Oracle. La solution ci-dessus fonctionne très bien à partir de Mac OS X 10.8.2

103
répondu Uwe Günther 2013-03-09 02:50:57

dans mon cas, le problème était Qu'Oracle l'installait à un endroit différent de celui où j'étais habitué.

télécharger de Oracle: http://java.com/en/download/mac_download.jsp?locale=en

  1. Vérifiez qu'il est installé correctement en regardant dans les préfets du système:

      "151970920 de Commande" de l'Espace pour ouvrir le Projecteur, le type de Système de Préférences', appuyez sur entrée.
    • cliquez sur L'icône Java dans la rangée du bas. Après l'ouverture Du Panneau de configuration Java, cliquez sur 'Java' tab, ' View..."et vérifiez que votre installation a fonctionné. Vous pouvez voir un' chemin ' là aussi, que vous pouvez soumettre dans les commandes ci-dessous dans le cas où ils sont différents que le mien.
  2. vérifiez que la version est celle que vous attendez (sub dans votre chemin si nécessaire):

    / Bibliothèque / Internet\ Plugins/JavaAppletPlugin.plugin / Contents/Home/bin / java-version

  3. créer un lien depuis / usr / bin / java vers votre nouvelle installation

    sudo ln -sf /Bibliothèque/Internet\ Plugins/JavaAppletPlugin.plugin / Contents/Home/bin / java / usr / bin/java

  4. santé mentale vérifier votre version:

    java-version

55
répondu dale.hamill 2013-07-22 19:58:34

j'avais rencontré un problème similaire avec le terminal ne mettant pas à jour la version java pour correspondre à la version installée sur le mac.

il n'y avait pas de problème avec la variable D'environnement JAVA_HOME étant mis

j'ai trouvé une solution temporaire et quelque peu douloureuse mais efficace.

en vous .bash_profile ajouter la ligne:

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk/Contents/Home"

(C'est le chemin sur ma machine, mais peut être différent sur la vôtre, assurez-vous de faire la vôtre. Les chemins doivent correspondre à /Library / Java/ JavaVirtualMachines/)

la course source ~/.bash_profile

comme je l'ai mentionné, il s'agit d'une solution temporaire de band-aid parce que le chemin java home est codé en dur. Il n'y a vraiment aucun moyen de définir le chemin pour obtenir la dernière, car C'est ce que Apple est censé faire pour le terminal déjà et le problème est que la variable d'environnement java_home D'Apple n'est pas mise à jour.

31
répondu Derek 2015-04-12 23:35:31

depuis El Capitan, il est difficile de supprimer le lien symbolique /usr/bin/java , en raison de l'introduction de la nouvelle politique "sans racine".

par conséquent, j'ai simplement ajouté le chemin de la dernière version java (dans mon cas c'est /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin ) au PATH dans mon .bashrc fichier:

# Use latest java version
export PATH=/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH

pour recharger votre fichier .bashrc pour la session en cours, Lancez source ~/.bashrc dans le shell. Vous n'avez à le faire que pour les sessions qui ont a commencé avant de changer le fichier .bashrc .

Maintenant, la dernière version est utilisée, lorsque vous utilisez java dans le shell.

23
répondu TabeaKischka 2016-12-28 10:46:44

pour moi la façon la plus facile et la plus propre d'aller est d'installer Java en utilisant homebrew comme décrit ici:

https://stackoverflow.com/a/28635465

brew update
brew cask install java
19
répondu Bernhardt Scherer 2017-05-23 11:47:26

la question de base: /usr/bin/java pointe vers une question fournie par OSX elle-même au départ ( /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java ) Nous devons pointer ceci sur celui téléchargé par l'installateur JDK. Les étapes ci-dessous sont pour OSX 10.10.4 Yosemite.

  • Ouvrez les Préférences Système -> sélectionnez Java. La fenêtre Java s'ouvre.
  • Cliquez sur l'onglet Java en haut. Cliquez sur la touche "View".
  • l'onglet Java Runtime Environment Settings s'ouvre comme suit:: JRE Settings tab
  • double-cliquez sur l'élément Path et copiez le chemin (cmd+c). C'est le dernier installé par l'installateur/updater de JDK. Dans mon cas, le chemin était /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
  • Ouvrir un terminal. Dans cette étape, nous allons pointer (lien symbolique, commande ln -s ) le binaire java système vers le dernier, que nous avons découvert dans l'étape précédente. Exécutez la commande suivante:

sudo ln -s /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin/java

C'est ça. Pour vérifier, vous pouvez simplement exécuter java -version sur le terminal. Il devrait afficher la dernière version que vous avez installée/mise à jour.

12
répondu Aswin Kumar 2015-11-06 17:02:48

vous pouvez exécuter la commande suivante dans votre terminal:

export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"

remplace l'ancienne java par une nouvelle.

11
répondu Amulya Kashyap 2017-05-22 08:10:20

j'ai fait

export JAVA_HOME=`/usr/libexec/java_home`

et cela a corrigé mon problème Java 8.

avant:

java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode)

après:

java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
10
répondu Climbs_lika_Spyder 2014-06-24 17:31:54

http://www.java.com/en/download/faq/java_mac.xml est un bel endroit pour comprendre, alors Qu'Apple arrête le support de Java, pourquoi les préférences Java n'existent plus et s'appuient sur System_Preferences => Java => Java si Java 7 d'Oracle est installé.

7
répondu revher 2012-10-26 15:58:45

puis-je vous suggérer de jeter un oeil à l'outil Jenv

cela vous permettra de passer à tout moment entre vos JVM installées.

simplement comme:

jenv global oracle-1.7

puis plus tard à des fins d'essai:

jenv global oracle-1.6

Et vous avez beaucoup plus de commandes disponibles.

7
répondu TitiMoby 2013-02-13 15:41:10

codage dur le chemin JAVA_HOME pourrait ne pas être la meilleure idée. L'utilitaire /usr/libexec/java_home sill fonctionne pour moi sur Mac OSX Lion 10.7.5 et JDK 1.7.0_13. Selon sa page de manuel, il est destiné à être utilisé avec les anciennes Préférences Java d'Apple, mais il semble fonctionner avec le remplacement fourni par Oracle (Java Control Panel). Par exemple, l'exécution de /usr/libexec/java_home -V liste tous les JDK installés (tous deux 1.6.* et 1.7.*) sur ma machine.

ainsi, comme discuté dans d'autres fils (e.g. What should I set JAVA_HOME to on OSX ), je recommande toujours d'ajouter la ligne suivante à votre .bash_profile:

export JAVA_HOME=$(/usr/libexec/java_home)
6
répondu zagyi 2017-05-23 12:02:46

c'est dingue! Comment Oracle fournit-il un installateur qui n'installe rien!?

de toute façon pour moi c'était:

sudo rm /usr/bin/java
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/jre/bin/java /usr/bin/java

où 1.8.0_31 est votre version java installée...

6
répondu Kevin Parker 2016-08-31 04:32:34

Solution Simple

export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"
4
répondu Mick 2017-05-03 00:14:06

je pense que vous pouvez essayer d'installer jdk pas jre. En installant jdk, le java dans /usr/bin/java sera remplacé, et toutes les bibliothèques fonctionneront correctement.

3
répondu ParaDevil 2015-07-05 04:34:05

dans le cas où vous avez plusieurs versions Java sur votre machine et que vous voulez la choisir dynamiquement à l'exécution, I. e, dans mon cas, j'ai deux versions:

ls -la /Library/Java/JavaVirtualMachines
drwxr-xr-x  3 root  wheel    96B Nov 16  2014 jdk1.7.0_71.jdk/
drwxr-xr-x  3 root  wheel    96B Mar  1  2015 jdk1.8.0_31.jdk/

vous pouvez les modifier en modifiant le contenu de /etc/profile. Juste ajouter (ou modifier) les deux lignes suivantes à la fin du fichier:

export JAVA_HOME=YOUR_JAVA_PATH/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

dans mon cas, il devrait être comme le suivant si je veux utiliser:

Java 7:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

Java 8:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

après avoir sauvegardé le fichier, veuillez exécuter source /etc/profile et cela devrait fonctionner. Voici les résultats lorsque j'utilise la première et la deuxième option en conséquence:

Java 7:

java -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)

Java 8:

java -version 
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)

Le processus est similaire si votre dossier java est situé dans différents endroits.

2
répondu nxhoaf 2018-03-27 23:08:28

vous pouvez exécuter cette commande pour trouver la version de Java qui est sous / Library/Plugins Internet/:

defaults read /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Info.plist CFBundleVersion
1
répondu Hefewe1zen 2016-03-29 14:59:57

puisque je n'ai pas fait face à cette question, je prends une intuition --

pouvez-vous essayer ceci:

où le lien doux "java_home" pointe vers:

ls -lrt /usr/libexec/java_home

Sortie: (Rabougri) lrwxr-xr-x java_home - > / System/Library/Frameworks / JavaVM.framework/Versions/Actuel/Commandes/java_home

**ls-lrt /System/Library/Frameworks/JavaVM.framework/Versions Mon MAC produit le

 lrwxr-xr-x CurrentJDK ->
 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents**

 lrwxr-xr-x   Current -> A
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.6.0 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.6 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.5.0 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.5 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.4.2 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.4 -> CurrentJDK

sur cette base, pourrions-nous avoir un indice pour aller plus loin ?

0
répondu user1428716 2013-02-13 14:57:51

j'ai résolu ce problème en ré-installant Yosemite puis en croisant la version java sur le terminal (version java) et (version javac) .Ça marche parfaitement maintenant.Il ne change pas en java 7 car la version 6 est toujours présente sur (command + n) libray>java>javavirtualmachine>votre version javac actuelle.vous devez vous adresser à l'accueil java .

0
répondu AJAY 2015-05-14 22:49:00

j'ai résolu ce problème avec sudo rm /usr/bin/java

et j'ai téléchargé et installé le dernier environnement D'exécution Java SE: http://www.oracle.com/technetwork/java/javase/downloads/index.html

sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/jre/bin/java /usr/bin/java n'a pas fonctionné pour moi parce que j'ai eu Operation not permitted . El Capitan protège désormais certains répertoires système en mode "rootless" (A. K. A. Protection De L'Intégrité Du Système). Il est applicable à macOS Sierra, et probablement de nouveaux macOS versions pour l'avenir prévisible.

0
répondu Charles Hamel 2017-04-12 19:18:13

il se passe parce que votre .bash_profile ne reflète pas les changements.Pour le refléter, il suffit d'utiliser la commande suivante

$ source .bash_profile
0
répondu Raghav Sharma 2018-02-01 11:48:57

installation par JDK DMG distribué à partir du site Oracle auto-mises à jour tout pour moi. J'ai vu (dans El Capitan) mise à jour par System Preferences > Java faire des mises à jour, mais qui ne reflètent pas à la ligne de commande. L'installation par L'intermédiaire de DMG fait le travail.

0
répondu Santanu Karar 2018-07-27 17:08:44