Suppression du JDK Java 8 de Mac

247

J'ai donc installé la version bêta de JDK 8 il y a un moment pour regarder quelques exemples. Je pensais bien sûr maintenant, il est facile de changer de version.

Faire du développement Play avec IntelliJ. Pour une raison quelconque, IntelliJ compile avec 8 même si:

  • J'ai le compilateur défini dans les préférences pour utiliser 1.6
  • Soi-disant, il utilise SBT via une build externe, mais sbt de la ligne de commande fonctionne
  • JAVA_HOME pointe vers JDK 6.

Si je vais à la page des préférences Java, il montre 8 installé, mais il n'y a pas d'option pour le désinstaller et il ne voit aucune des autres versions.

Quand je le fais which java, il me le dit /usr/bin/javaet je le fais /usr/bin/java -versionet il renvoie 1,6.

Remarque: avec un peu de violon, vous pouvez utiliser IntelliJ et JDK7, voir ici .

Rob
la source
1
Pourquoi voulez-vous utiliser JDK 6? Il a été EOL'd, voir oracle.com/technetwork/java/eol-135779.html . Si vous ne voulez pas de version bêta (JDK 8), vous devriez passer au JDK 7.
kmorris
1
JDK7 sur Mac est toujours un gâchis. J'ai eu beaucoup de problèmes avec ça. Mais je prendrais 7 à ce stade. (Bien que, au cas où vous ne le sachiez pas, JetBrains dit toujours qu'il ne le prend pas en charge sur mac ..!)
Rob
3
Pensez également à installer jdk comme un tonneau homebrew - (dés) installer / mettre à niveau est alors une simple commande de brassage.
Agoston Horvath
2
Il semble que l'utilisation de Homebrew& Jenvpour gérer la Javaversion installée soit la solution. voir hanxue-it.blogspot.ch/2014/05/…
Adrien Be
1
J'ai trouvé utile de référencer les formules java homebrew-cask sur la façon dont elles désinstallent jdk. jdk9 & jdk8 .
Bruce Sun

Réponses:

658

J'ai pu désinstaller JDK 8 dans Mavericks en effectuant avec succès les étapes suivantes:

Exécutez cette commande pour supprimer simplement le JDK

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk<version>.jdk

Exécutez ces commandes si vous souhaitez supprimer des plugins

sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -rf /Library/LaunchAgents/com.oracle.java.Java-Updater.plist
sudo rm -rf /Library/PrivilegedHelperTools/com.oracle.java.JavaUpdateHelper
sudo rm -rf /Library/LaunchDaemons/com.oracle.java.Helper-Tool.plist
sudo rm -rf /Library/Preferences/com.oracle.java.Helper-Tool.plist
Samuel Alpoim
la source
2
Le seul problème est que maintenant il ne me laissera pas installer jdk7. J'exécute le programme d'installation mais la ligne de commande dit toujours "Aucun runtime Java présent, demandant l'installation" ... mais il ment car il ne demande pas l'installation.
géoidesic
4
C'est vraiment mauvais car vous supprimez également le volet des préférences dans les Préférences Système. Exécutez simplement la première commande et laissez les autres en dehors.
Aquarelle
1
De plus, après ces étapes, MAC prend automatiquement java alternatif par défaut s'il est déjà installé.
Ashokchakravarthi Nagarajan
6
Pour être clair, il s'agit de désinstaller toutes les choses Java. Si, pour une raison quelconque, vous souhaitez conserver une version différente de Java, ne supprimez rien d'autre que le JDK lui-même (première commande).
mikl
1
Vous m'avez sauvé d'un énorme mal de tête
Dieu
85

Vous avez juste besoin d'utiliser ces commandes

sudo rm -rf /Library/Java/*
sudo rm -rf /Library/PreferencePanes/Java*
sudo rm -rf /Library/Internet\ Plug-Ins/Java*
Jonny TS
la source
2
celui-ci a fonctionné pour moi sur OSX El Capitan, merci :)
PirateApp
10
En procédant de cette façon, vous supprimez TOUS les jdk java, pas seulement 8. Attention.
Andres
Comment l'installer à nouveau après de telles opérations?
Ruslan Leshchenko
14

La gestion des versions Java sur Mac OSX est un cauchemar. Je suis récemment passé à l'utilisation de JDK 1.7, supprimant entièrement JDK 6 de mon MacBook (j'ai également eu des traces de JDK 5 - cet ordinateur portable a été mis à jour plusieurs fois).

Voici ce que j'ai fait pour passer au JDK 7.

1) téléchargez la dernière version d'Oracle ( http://www.oracle.com/technetwork/java/javase/downloads/index.html ) et installez-la.

2) Supprimez (en utilisant rm - si vous avez des sauvegardes, vous pouvez revenir en cas d'erreur) tous les fichiers JDK6 et JRE6.

À ce stade, vous devriez voir:

% ls /Library/Java/JavaVirtualMachines/
jdk1.7.0_nn.jdk

(et rien d'autre)

3) Dans le dossier / Library / Java / Extensions /, vous devrez supprimer tous les anciens fichiers jar, ceux qui correspondent aux autres versions de Java. Si vous ne le faites pas, vous obtiendrez le fameux message sur la mauvaise version de tools.jar (voir Builds échouant après la mise à niveau vers Java7, Missing Tools.jar et mauvaises versions de classe ). Il ne suffit pas de renommer les fichiers jar, car Java ouvrira chaque jar de ce dossier - j'ai déplacé le mien dans un sous-répertoire. Il est sûr de les supprimer une fois que vous savez que tout le reste fonctionne.

Je n'ai pas trouvé que je devais définir JAVA_HOME pour des choses simples.

Remarque : Je viens d'essayer d'exécuter IntelliJ et il ne démarrera que si vous avez installé le JDK 6 d'Apple (voir http://youtrack.jetbrains.com/issue/IDEA-93710 ). Il en va de même pour Eclipse. Netbeans fonctionne très bien.

kmorris
la source
1
Question originale modifiée pour inclure un lien vers une autre question SO sur l'obtention d'IntelliJ pour utiliser JDK7 (sur Mac).
Rob
3
La gestion de la version Java sur Mac est un CAUCHEMAR ABSOLU. J'ai pu installer Oracle Java 8 et gérer différentes versions de Java sur Ubuntu en moins de 5 minutes. J'ai passé plusieurs heures à essayer de faire fonctionner Oracle Java 8 sur OSX.
JohnMerlino
11

Utilisation /usr/libexec/java_home; J'ai trouvé ces alias et fonctions très utiles dans mon ~/.profile:

alias java_ls='/usr/libexec/java_home -V 2>&1 | cut -s -d , -f 1 | cut -c 5-'
function java_use() {
    export JAVA_HOME=$(/usr/libexec/java_home -v $1)
    java -version
}
Grégory Joseph
la source
Je pense que cela ne fonctionnera que pour votre environnement de shell, pas l'environnement qu'une application (comme Intellij) obtient lorsque vous double-cliquez sur son icône.
NBW
@NBW AFAIK Les applications Java sur OSX ont leur propre version Java définie dans leur fichier Info.plist (ou quelque chose dans ce sens, par exemple, quelle plage de versions elles prennent en charge ou quelque chose). Le changement de JAVA_HOME ne s'appliquera qu'à la session de terminal actuelle, mais je pense que / usr / libexec / java_home pourrait avoir un impact sur d'autres sessions / environnements. (Je ne peux pas le vérifier facilement, car je force java_use 1.7 dans mon ~ / .profile)
Grégory Joseph
Et si vous voulez également voir si le JDK est 32 bits ou 64 bits, quelque chose dans le sens de alias java_ls='/usr/libexec/java_home -V 2>&1 | sed "/^ \(.*\) \(.*\),/!d;/^\s*$/d;s/^ \(.*\) \(.*\), \(.*\):\(.*\)$/\2 (\3)/g"'fera l'affaire.
Moreaki
10

J'ai supprimé tout Java, JDK et oracle. J'exécutais Java 8 sur OSX El Capitan

D'autres réponses manquaient de tonnes de choses. Cette réponse couvre beaucoup plus de bases.

Au revoir, pelle.

sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -rf /Library/LaunchAgents/com.oracle.java.Java-Updater.plist
sudo rm -rf /Library/LaunchDaemons/com.oracle.java.Helper-Tool.plist
sudo rm -rf /Library/Preferences/com.oracle.java.Helper-Tool.plist
sudo rm -rf /System/Library/Frameworks/JavaVM.framework
sudo rm -rf /usr/bin/java
sudo rm -rf /usr/bin/javac
sudo rm -rf /usr/bin/javadoc
sudo rm -rf /usr/bin/javah
sudo rm -rf /usr/bin/javap
sudo rm -rf /usr/bin/javaws
sudo rm -rf /var/db/receipts/com.oracle.jdk8u65.bom
sudo rm -rf /var/db/receipts/com.oracle.jdk8u65.plist
sudo rm -rf /var/db/receipts/com.oracle.jre.bom
sudo rm -rf /var/db/receipts/com.oracle.jre.plist
sudo rm -rf /var/root/Library/Preferences/com.oracle.javadeployment.plist
sudo rm -rf ~/Library/Preferences/com.oracle.java.JavaAppletPlugin.plist
sudo rm -rf ~/Library/Preferences/com.oracle.javadeployment.plist
sudo rm -rf ~/.oracle_jre_usage
Je vous remercie
la source
2
aucune autorisation pour supprimer ce fichier "/System/Library/Frameworks/JavaVM.framework"
Nazariy
2
@Nazariy certains de ces derniers pourraient ne pas exiger sudomais je l'ai juste utilisé de toute façon. Pour faire court: ne réinstallez jamais Java.
Merci
1
@Nazariy System Integrity Protection
Cameron Lowell Palmer
1
AFAIK c'est le JDK par défaut installé par Apple. Vous n'avez pas besoin de supprimer cela.
Kutsan Kaplan
1
Veuillez revoir votre liste de fichiers. Les fichiers dans / usr / bin font partie du système de base. Voir docs.oracle.com/javase/8/docs/technotes/guides/install/…
Andres
7

Voici le document officiel sur la désinstallation du JDK.

http://docs.oracle.com/javase/8/docs/technotes/guides/install/mac_jdk.html#A1096903

Lonre Wang
la source
Je viens de recommencer, cela n'a pas fonctionné. Vous avez fini par «vous avez une version plus récente (et son lien mort)».
Rob
3
Ce lien a dit:, cd '/Library/Java/JavaVirtualMachines/'alors sudo rm -rf YOURVERSION.jdk, c'est à direrm -rf jdk1.8.0_06.jdk
Alan Dong
4

Si vous avez installé jdk8 sur votre Mac mais que vous voulez maintenant le supprimer, exécutez simplement la commande ci-dessous "sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk"

Danny Shi
la source
Après avoir supprimé le dossier jdk, une entrée pour Java apparaît toujours dans Launchpad -> Préférences Système
Drew
Cela a fonctionné pour moi aussi .... Merci beaucoup, a aidé à corriger l'erreur Fixing Unsupported major.minor version 52.0 dans Android Studio également.
Pradeep Chakravarti Gudipati
@Dérivé de ce que je peux comprendre, le Java dans les préférences n'a rien à voir avec le JDK (les préférences sont celles qui chargent les pages Web sur votre machine par exemple, le JDK concerne la compilation d'autres programmes utilisant Java), donc l'avoir dans les préférences n'est pas vraiment un problème
DaveRGP
3

Si vous désinstallez tous les fichiers mais qu'il échoue toujours, utilisez cette ligne:

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk
Chris Mukherjee
la source
2
Cela n'ajoute rien. La réponse acceptée l'a déjà dit et plus
Chris Mukherjee
3

Pour désinstaller java de n'importe quelle version sur mac, faites simplement:

sudo rm -fr /Library/Java/JavaVirtualMachines/jdk-YOUR_ACCURATE_VERSION.jdk/ 
sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin 
sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane
Karthik damodara
la source
1

Vous pouvez le faire de deux manières:

  1. Suppression de JDK directement dans Users-> Library -> Java -> VirtualMachines -> puis supprimez directement le dossier jdk pour désinstaller la java.

  2. En suivant la commande: (désinstaller la version java 1.8)

assurez-vous que vous êtes dans le répertoire personnel à l'aide de la commande ci-dessous, avant d'écrire la commande:

cd ~/

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.jdk
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -rf /Library/Application\ Support/Oracle/Java
Steve
la source
1

dans Mac Supprimer la version Java en utilisant ces 3 commandes

java -version

sudo rm -rf / Library / Java / *

sudo rm -rf / Library / PreferencePanes / Java *

sudo rm -rf / Library / Internet \ Plug-Ins / Java *

Courir

java -version

// Voir que java a été désinstallé avec succès.

java -version sudo rm -rf / Library / Java / * sudo rm -rf / Library / PreferencePanes / Java * sudo rm -rf / Library / Internet \ Plug-Ins / Java *

Exécutez java -version

Installer Java 8 Link

entrez la description de l'image ici

Téléchargez le package et cliquez sur suivant suivant suivant

Keshav Gera
la source
JDK 102 MB .PKG intégré
Keshav Gera
-12

Cela a parfaitement fonctionné pour moi:

sudo rm -rf /Library/Java/JavaVirtualMachines
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
Neal Rauhauser
la source