J'ai installé JDK 7u7 téléchargé depuis le site Web 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)
une idée pourquoi java 7 n'apparaît pas?
Rép: 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 home java 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 pose problème à chaque fois que j'ouvre une nouvelle fenêtre de terminal. Il suffit de supprimer cette ligne pour résoudre le problème. Vous devez toujours suivre ce que @aleroot a dit, mais si cela ne fonctionne pas pour vous, vérifiez le fichier de paramètres .bash_profile (ou .bashrc) pour voir si vous avez déjà exporté une version java.
export JAVA_HOME
approche, comme détaillé ici d'une manière légèrement plus flexible.Réponses:
Parce que vous devez entrer dans le volet Préférences Java et marquer uniquement la JVM 7 de cette manière:
Pour ouvrir facilement et rapidement le volet Préférences Java dans Mac OS X, vous pouvez simplement appeler Spotlight avec ⌘+SPACE et taper Préférences Système, il apparaîtra dans la dernière ligne de la fenêtre.
la source
export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
pour passer au dernier JDK Java 7 d'Oracle.Le programme d'installation d'Oracle met java à l'intérieur du
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin
. Et cela n'écrase pas/usr/bin/java
. Donc, si vous émettez undans 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 java, remplacez le
/usr/bin/java
lien symbolique pour qu'il pointe à la/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
place:la source
rm /usr/bin/java
rm: /usr/bin/java: Operation not permitted
export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"
Installez 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).
la source
/usr/bin/java
plusJAVA_HOME
. Mais le réglage deJAVA_HOME
aidé./usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java # But: /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java -version java version "1.7.0_67"
vi ~/.bash_profile
ajouter
export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
Cela indique à votre
/usr/bin/java
cible de lien d'utiliser le dernier package Java 7 installé dans/Library/Java/JavaVirtualMachines/
Donc pour JDK, ce
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 packages Java intégrés au système Appels vers des packages Java basés sur Oracle. La solution ci-dessus fonctionne correctement à partir de Mac OS X 10.8.2
la source
Dans mon cas, le problème était qu'Oracle l'installait à un emplacement différent de celui auquel j'étais habitué.
Téléchargez depuis Oracle: http://java.com/en/download/mac_download.jsp?locale=en
Vérifiez qu'il est installé correctement en consultant les Préférences système:
Vérifiez que la version est celle que vous attendez (sous dans votre chemin si nécessaire):
/ Library / Internet \ Plug-Ins / JavaAppletPlugin.plugin / Contents / Accueil / bin / java -version
Créez un lien depuis / usr / bin / java vers votre nouvelle installation
sudo ln -fs / Library / Internet \ Plug-Ins / JavaAppletPlugin.plugin / Contents / Home / bin / java / usr / bin / java
Vérifiez votre version:
java -version
la source
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 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.
Dans votre .bash_profile, ajoutez la ligne:
(Il s'agit du chemin sur ma machine, mais il 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 temporaire de pansement, car le chemin d'accès à la maison 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 que Apple est censé faire déjà pour le terminal et le problème est que la variable d'environnement java_home d'Apple n'est pas mise à jour.
la source
Depuis El Capitan, il est difficile de supprimer le
/usr/bin/java
lien symbolique, en raison de l'introduction de la nouvelle politique "rootless".Par conséquent, j'ai simplement ajouté le chemin d'accès à la dernière version de java (dans mon cas, c'est le
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin
)PATH
dans mon.bashrc
fichier:Pour recharger votre
.bashrc
fichier pour la session en cours, exécutezsource ~/.bashrc
dans le shell. Vous ne devez effectuer cette opération que pour les sessions qui ont été démarrées avant de modifier le.bashrc
fichier.Maintenant, la dernière version est utilisée, lorsque vous utilisez
java
dans le shell.la source
source .bashrc
, afin de recharger le contenu de .bashrc/usr/local/bin
comme ceci:sudo ln -sf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java" /usr/local/bin/java
Cette supposition/usr/local/bin
est antérieure/usr/bin
à votre$PATH
qui devrait être par défaut.Pour moi, le moyen le plus simple et le plus propre est d'installer Java en utilisant des homebrew comme décrit ici:
https://stackoverflow.com/a/28635465
la source
Le problème de base:
/usr/bin/java
pointe vers celui fourni par OSX lui-même initialement (/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
) Nous devons le signaler à celui téléchargé par le programme d'installation de JDK. Les étapes ci-dessous concernent OSX 10.10.4 Yosemite.Path
élément et copiez le chemin (cmd + c). Ceci est le dernier installé par le programme d'installation / mise à jour JDK. Dans mon cas, le chemin était/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
ln -s
commande) 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 ça. Pour vérifier, vous pouvez simplement exécuter
java -version
sur le terminal. Il devrait sortir la dernière version que vous avez installée / mise à jour.la source
usr/local/bin
place de lausr/bin
commande de terminalVous pouvez exécuter la commande suivante dans votre terminal:
Et cela remplace l'ancien java par un nouveau.
la source
source ~/.bashrc
pour le rendre permanentJ'ai fait
et cela a résolu mon problème Java 8.
avant:
après:
la source
/usr/libexec/java_home
une très bonne indication, merci!http://www.java.com/en/download/faq/java_mac.xml est un bon endroit pour comprendre, tandis 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é.
la source
Puis-je vous suggérer de jeter un œil à l'outil Jenv
Cela vous permettra de basculer à tout moment entre vos machines virtuelles Java installées.
Tout simplement comme:
puis plus tard à des fins de test:
Et vous avez beaucoup plus de commandes disponibles.
la source
Coder en dur le chemin JAVA_HOME n'est peut-être pas la meilleure idée. Le
/usr/libexec/java_home
seuil utilitaire 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 (Java Control Panel). Par exemple, l'exécution/usr/libexec/java_home -V
répertorie tous les JDK installés (1.6. * Et 1.7. *) Sur ma machine.Ainsi, 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:
la source
/usr/libexec/java_home
utilitaire est censé fonctionner également avec les versions de java 7 et renvoie le chemin vers le JDK le plus récent installé. Cela fonctionne parfaitement sur ma machine.C'est fou! Comment Oracle fournit-il un programme d'installation qui n'installe rien!?
Quoi qu'il en soit pour moi, c'était:
où 1.8.0_31 est votre version java installée ...
la source
Dans le cas où vous avez plusieurs versions Java sur votre machine et que vous souhaitez la choisir dynamiquement à l'exécution, c'est à dire, dans mon cas, j'ai deux versions:
Vous pouvez les changer en modifiant le contenu / etc / profile. Ajoutez (ou modifiez) simplement les deux lignes suivantes à la fin du fichier:
Dans mon cas, cela devrait être comme suit si je veux utiliser:
Java 7:
Java 8:
Après avoir enregistré 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 8:
Le processus est similaire si votre dossier java se trouve à différents emplacements.
la source
Solution simple
la source
Je pense que vous pouvez essayer d'installer jdk pas jre. En installant jdk, la java dans / usr / bin / java sera remplacée et toute la bibliothèque fonctionnera correctement.
la source
Si vous avez installé Homebrew, vous pouvez installer java-switcher pour changer la version par défaut de Java plus rapidement
Ensuite, vous pouvez utiliser une seule commande pour changer votre version Java par défaut.
ou
la source
Vous pouvez exécuter cette commande pour trouver la version de Java qui se trouve sous / Library / Internet Plugins /:
la source
Cela se produit parce que votre .bash_profile ne reflète pas les changements. Pour le refléter, utilisez simplement la commande suivante
la source
Puisque je n'ai pas fait face à ce problème, je prends une intuition -
Pouvez-vous essayer ceci:
Où le lien logiciel "java_home" pointe-t-il:
Sortie: (Stunted) lrwxr-xr-x java_home -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home
** ls -lrt /System/Library/Frameworks/JavaVM.framework/Versions My MAC Produit les éléments suivants:
Sur cette base, nous pourrions avoir un indice pour aller plus loin?
la source
j'ai résolu ce problème en réinstallant Yosemite, puis en recoupant la version java sur le terminal (java -version) et (javac -version) .Il fonctionne parfaitement maintenant.Il ne change pas en java 7 car la version 6 est toujours présente sur (commande + n ) libray> java> javavirtualmachine> votre version actuelle de javac.vous devez vous adresser à java home.
la source
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 je suis arrivéOperation not permitted
. El Capitan protège désormais certains répertoires système en mode "rootless" (alias System Integrity Protection). Il est applicable à macOS Sierra et probablement à de nouvelles versions de macOS dans un avenir prévisible.la source
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
les mises à jour mais qui ne se reflètent pas sur la ligne de commande. L'installation via DMG fait le travail.la source
Vérifiez les versions de JDK installées:
Maintenant dans votre
~/.bashrc
export enJAVA_HOME
spécifiant la version:Sourcez le fichier bashrc et la version Java sera mise à jour:
la source
La dernière méthode 100% efficace:
en bash:
ajouter
:wq
sauverjava -version
Mais en réalité, ce chemin indique jre et non jdk.
Si vous voulez indiquer le chemin vers JDK, vous devez
PATH="/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk"
, vous pouvez vous rendre sur/Library/Java/JavaVirtualMachines
pour vous assurer que vous avez installé la version de JDK que vous attendiez.la source