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


J'ai installé JDK 7u7 téléchargé à partir du site Web d'oracle. Mais après l'installation, le terminal affiche toujours java version 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)

Une idée pourquoi java 7 n'apparaît pas?

Sna: 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 définie sur 1.6

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

C'est donc 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 a dit, mais si cela ne fonctionne pas pour vous, vérifiez le .bash_profile (ou .bashrc) fichier de réglage pour voir si vous avez déjà exporté une version java.

Author: Yang, 2012-10-06

24 answers

Parce que vous devez entrer dans le volet des préférences Java et marquer uniquement la JVM 7 de cette façon:

Java Préférences

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

 61
Author: aleroot, 2015-10-03 19:35:02

Le programme d'installation d'Oracle place java dans le /Library/Internet Plug-Ins/JavaAppletPlugin.plugin. Et il n'écrase pas /usr/bin/java. Donc, si vous émettez un

whereis java

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

Donc, si vous souhaitez utiliser la nouvelle version de java, remplacez le lien symbolique /usr/bin/java afin qu'il pointe vers /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
Author: Ákos, 2015-02-27 19:55:24

Installer le JDK 7 et ce problème se résoudra de lui-même.

Assurez-vous d'obtenir le Kit de développement Java (JDK) qui comprend des compilateurs et des trucs comme ça, plutôt que juste l'environnement d'exécution Java (JRE) .

 111
Author: BrainO2, 2016-08-03 17:24:11

vi ~/.bash_profile

Ajouter

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

Cela indique à votre cible de lien /usr/bin/java d'utiliser le dernier package 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

Remarque: Il y a eu beaucoup de changements dans ce domaine récemment pour déplacer Mac OS X des paquets Java intégrés au système d'Appels vers des paquets Java basés sur Oracle. La solution ci-dessus fonctionne correctement à partir de Mac OS X 10.8.2

 103
Author: Uwe Günther, 2013-03-09 02:50:57

Dans mon cas, le problème était qu'Oracle l'installait à un emplacement différent de celui auquel j'étais habitué.

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

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

    • Command-Space pour ouvrir Spotlight, tapez "Préférences système", appuyez sur entrée.
    • Cliquez sur l'icône Java dans la ligne du bas. Une fois le panneau de configuration Java ouvert, cliquez sur l'onglet "Java", "Afficher"...', et vérifiez que votre installation a fonctionné. Vous pouvez également y voir un "chemin", que vous pouvez sous-traiter dans les commandes ci-dessous au cas où elles seraient différentes de la mienne.
  2. Vérifiez que la version est que vous attendez (sous dans votre chemin si nécessaire):

    /Bibliothèque/Internet\ Plug-Ins / JavaAppletPlugin.plugin/Contenu/Home/bin/java -version

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

    Sudo ln-fs / Bibliothèque / Internet\ Plugins/JavaAppletPlugin.plugin/Contenu/Home/bin/java /usr/bin/java

  4. Santé mentale vérifiez votre version:

    Java-version

 55
Author: dale.hamill, 2013-07-22 19:58:34

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

Il n'y avait aucun problème avec la variable d'environnement JAVA_HOME définie

J'ai trouvé une solution temporaire et quelque peu douloureuse mais qui fonctionne.

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 le vôtre, assurez-vous d'obtenir le 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 de pansement temporaire car le chemin d'accès java est codé en dur. Il n'y a vraiment aucun moyen de définir le chemin pour obtenir la dernière version car c'est ce qu'Apple est censé faire pour terminal déjà et le problème est que la variable d'environnement java_home d'Apple n'est pas mise à jour.

 31
Author: 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 "rootless".

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

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

Pour recharger votre .bashrc fichier pour la session en cours, exécutez source ~/.bashrc dans le shell. Vous n'avez à le faire que pour les sessions qui avaient été démarrées avant de changer le fichier .bashrc.

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

 23
Author: TabeaKischka, 2016-12-28 10:46:44

Pour moi, la façon la plus simple 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
Author: Bernhardt Scherer, 2017-05-23 11:47:26

Le problème de base: {[0] } pointe vers celui fourni par OSX lui-même initialement (/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java) Nous devons pointer ceci vers celui téléchargé par le programme d'installation JDK. Les étapes ci-dessous sont pour OSX 10.10.4 Yosemite.

  • Ouvrez 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 Paramètres de l'environnement d'exécution Java s'ouvre comme ci-dessous: Onglet Paramètres JRE
  • Double-cliquez sur l'élément Path et copiez chemin d'accès (cmd+c). C'est le dernier installé par le programme d'installation/de mise à jour JDK. Dans mon cas, le chemin était /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
  • Ouvrir le terminal. Dans cette étape, nous allons pointer (lien symbolique, commande ln -s) le binaire java du système vers le dernier, que nous avons découvert à l'étape précédente. Exécutez la commande ci-dessous:

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

C'est tout. 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
Author: 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"

Et cela remplace l'ancien java par un nouveau.

 11
Author: Amulya Kashyap, 2017-05-22 08:10:20

Je l'ai fait

export JAVA_HOME=`/usr/libexec/java_home`

Et cela a résolu 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
Author: Climbs_lika_Spyder, 2014-06-24 17:31:54

Http://www.java.com/en/download/faq/java_mac.xml est un bon endroit pour comprendre, alors qu'Apple arrête la prise en charge 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
Author: revher, 2012-10-26 15:58:45

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

Cela vous permettra de basculer à tout moment entre vos JVM installées.

Simplement comme:

jenv global oracle-1.7

Puis plus tard à des fins de test:

jenv global oracle-1.6

Et vous avez beaucoup plus de commandes disponibles.

 7
Author: TitiMoby, 2013-02-13 15:41:10

Coder en dur le chemin JAVA_HOME n'est peut-être pas la meilleure idée. Le seuil de l'utilitaire /usr/libexec/java_home 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 l'ancien volet des préférences Java d'Apple, mais il semble fonctionner avec le remplacement fourni par Oracle (Panneau de configuration Java). Par exemple, l'exécution de /usr/libexec/java_home -V répertorie tous les JDK installés (les deux 1.6.* et 1.7.*) sur ma machine.

Donc, comme discuté dans d'autres threads (par exemple Que dois-je définir JAVA_HOME sur OSX), je recommanderais toujours d'ajouter la ligne suivante à votre .bash_profile:

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

C'est fou! 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
Author: Kevin Parker, 2016-08-31 04:32:34

Solution simple

export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"
 4
Author: 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 toute la bibliothèque fonctionnera correctement.

 3
Author: ParaDevil, 2015-07-05 04:34:05

Dans le cas où vous avez plusieurs versions Java sur votre machine et que vous voulez le choisir dynamiquement à l'exécution, c'est-à-dire, 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 / 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, cela devrait être comme suit 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 enregistré le fichier, veuillez exécuter source /etc/profile et il 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 se trouve à des endroits différents.

 2
Author: nxhoaf, 2018-03-27 23:08:28

Vous pouvez exécuter cette commande pour trouver la version de Java qui se trouve sous / Library / Internet Plugins/:

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

Puisque je n'ai pas fait face à ce problème, je prends une intuition {

Pouvez-vous essayer ceci:

Où le lien souple "java_home" pointe-t-il vers:

ls -lrt /usr/libexec/java_home

Sortie: (Retard de croissance) 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 ce qui suit:

 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 , nous pourrions obtenir un indice, pour aller plus loin ?

 0
Author: user1428716, 2013-02-13 14:57:51

J'ai résolu ce problème en réinstallant Yosemite, puis en vérifiant la version java sur le terminal (java-version) et (javac-version). Cela fonctionne parfaitement now.It ne change pas en java 7 car la version 6 est toujours présente sur (command + n) libray>java>javavirtualmachine>votre version actuelle javac.vous devez vous adresser à l'accueil java .

 0
Author: 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 ne fonctionne pas pour moi parce que j'ai eu Operation not permitted. El Capitan protège désormais certains répertoires système en mode "rootless" (alias Protection de l'intégrité du système). Il est applicable à macOS Sierra, et probablement aux nouvelles versions de macOS dans un avenir prévisible.

 0
Author: Charles Hamel, 2017-04-12 19:18:13

Cela se produit parce que votre .bash_profile ne reflète pas changes.To réfléchissez-le, utilisez simplement la commande suivante

$ source .bash_profile
 0
Author: Raghav Sharma, 2018-02-01 11:48:57

L'installation via JDK DMG distribué à partir du site Oracle met automatiquement à jour tout pour moi. J'ai vu (dans El Capitan) la mise à jour via System Preferences > Java faire des mises à jour mais cela ne reflète pas la ligne de commande. L'installation via DMG fait le travail.

 0
Author: Santanu Karar, 2018-07-27 17:08:44