Comment supprimer Java 10? Ou revenir à la version précédente?


26

Le programme de mise à jour Java sur mon Mac a installé une version obscure de Java 10.0.1 que je n'avais jamais entendue auparavant. Le résultat est que TOUTES mes applications java ne fonctionnent plus, ce qui rend Java inutile.

Les instructions officielles pour supprimer Java sont les suivantes:

  • sudo rm -fr / Library / Internet \ Plug-Ins / JavaAppletPlugin.plugin

Ce qui est inutile car je n'utilise pas Java sur le navigateur (qui est assez fou pour le faire?)

  • sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane

Ce qui est inutile car il supprime simplement le volet des préférences

  • sudo rm -fr ~ / Library / Application \ Support / Java

Ce qui est inutile car ce répertoire est déjà vide

Les instructions officielles pour supprimer Java sur un Mac ne font absolument rien.

Si j'exécute mes applications Java avec java -jar depuis le terminal, elles fonctionnent. Depuis le terminal, je vois ceci:

/usr/libexec/java_home -V
Matching Java Virtual Machines (3):
    1.8.0_131, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
    1.6.0_65-b14-468, x86_64:   "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.6.0_65-b14-468, i386: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

Ainsi, à partir du terminal, la version Java est 1.8.0_131, qui est ma version souhaitée. Depuis le bureau, lorsque je lance des applications avec JavaAppLauncher, la version Java est 10.0.1.

Comment puis-je annuler ce désastre qu'Oracle a fait avec leur programme de mise à jour automatique?

Réponses:


4

J'ai eu ce même problème: j'avais Java 8 installé, mais plus tard j'en ai installé 10. Ensuite, j'ai supprimé 10, et quand j'ai lancé un pot depuis le terminal, il fonctionnerait dans la version 8, et quand j'ai vérifié la version avec java -versiondans le terminal, j'ai reviendrait java version "1.8.0_181. Cependant, lorsque j'exécutais un .jar à partir du Finder , il s'exécutait dans la version 10, et si je me rendais dans le volet des préférences Java, la version était répertoriée comme version 10. Ce n'était pas souhaitable: j'essayais de supprimer complètement la v10.

Ensuite, j'ai supprimé JavaAppletPlugin avec rm /Library/Internet\ Plug-Ins/JavaAppletPlugin.pluginet réinstallé Java SE JDK 8 en ligne, et voilà! ça fonctionne maintenant. Lorsque j'exécute .jar, ils s'exécutent en Java 8.

Je sais que vous en avez parlé lors de votre première étape, mais je suppose que vous n'avez pas fait cette étape? Si je me trompe, vous avez un problème différent. Mais cela a résolu le mien.


oui je n'ai pas essayé de supprimer le plugin applet car de toute façon je l'ai désactivé dans le navigateur
Magnetic_dud

Est parfaitement logique. Mais, d'après mon expérience, il semble que la présence de JavaAppletPlugin affecte la version de Java utilisée pour exécuter les applications .jar à partir du Finder. Pour moi, j'ai supprimé la JVM v10, mais ce n'est que lorsque j'ai supprimé JavaAppletPlugin que le Finder a cessé d'utiliser la v10 pour exécuter les applications .jar.
postylem

45

Je crois que le problème est de naviguer dans le bon répertoire ... Une fois que vous êtes là où vous êtes censé être, vous pouvez exécuter les commandes sudo pour supprimer les versions de java que vous souhaitez supprimer.

Tout d'abord, exécutez la commande dans le terminal pour déterminer la version de Java que vous exécutez,

java -version

vous pouvez ensuite accéder à la version embêtante de java que vous souhaitez supprimer en utilisant la commande suivante:

cd /Library/Java/JavaVirtualMachines

puis une fois que vous voyez que vous êtes sur le JavaVirtualMachineschemin, tapez lspour voir quelles versions de Java vous avez installées,

ls

et enfin lorsque vous savez quelle version ou versions de Java vous souhaitez désinstaller:

sudo rm -rf jdk-10.0.1.jdk #or whichever version you want to delete

Le problème est que la version affichée par le panneau de configuration ne correspond pas à la version java du terminal. Si je veux supprimer java 8.171, il n'y a aucun moyen aussi: imgur.com/a/iIK67bD
Magnetic_dud

Et le jdk 10.0.1 n'était pas présent dans ce dossier
Magnetic_dud

@Magnetic_dud, vous devriez toujours être en mesure de déboguer en utilisant la structure de votre répertoire de fichiers à l'aide de la commande ls, puis supprimer et réinstaller un nouveau Jdk de travail ou toute autre version de java que vous installez ..
Colin Ilgen

9

Si vous disposez de plusieurs versions de jdk:

$ ls -l /Library/Java/JavaVirtualMachines
drwxr-xr-x  3 root  wheel  96 30 avr 15:15 jdk-10.0.1.jdk
drwxr-xr-x  3 root  wheel  96 30 avr 15:24 jdk1.8.0_172.jdk
drwxr-xr-x  3 root  wheel  96 17 oct 10:59 jdk1.8.0_191.jdk

changez votre JAVA_HOME

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home

-1

J'ai téléchargé l'ancienne version (fonctionnelle) de java.com

En fait, Java 8.171 est le téléchargement affiché par défaut. Je ne sais pas pourquoi il a été automatiquement mis à jour vers 10.0.1 quand il est de qualité bêta.

Maintenant, il ne l'installera pas, il dit "Désolé, vous avez le Java 10.0.1 plus récent et meilleur"

Pour l'installation, exécutez les commandes apparemment inutiles mentionnées dans la question. Java fonctionnera toujours dans le terminal, mais le programme d'installation vous permettra d'installer la bonne version, 1.8_171

Désactivez maintenant les mises à jour si vous ne voulez plus interrompre vos applications. Java est une menace pour la sécurité, il doit être mis à jour tous les mois, alors assurez-vous qu'il est désactivé dans votre navigateur.

Pour une raison quelconque, si vous exécutez la version java, vous obtenez toujours:

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

Ce qui est une autre mauvaise version. Quoi qu'il en soit, l'important est que maintenant vos applications Java fonctionnent, assurez-vous que le plugin du navigateur est désactivé pour votre sécurité.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.