¿Cómo eliminar Java 10? ¿O volver a la versión anterior?

26

El actualizador de Java en mi Mac instaló una versión oscura de Java 10.0.1 que nunca antes había escuchado. El resultado es que TODAS mis aplicaciones Java ya no se ejecutan, lo que hace que Java no tenga sentido.

Las instrucciones oficiales para eliminar Java son:

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

Lo cual es inútil porque no uso Java en el navegador (¿quién está lo suficientemente loco como para hacerlo?)

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

Lo cual es inútil porque solo elimina el panel de preferencias

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

Lo cual es inútil porque este directorio ya está vacío

Las instrucciones oficiales para eliminar Java en una Mac no hacen absolutamente nada.

Si ejecuto mis aplicaciones Java con java -jar desde la terminal, funcionan. Desde la terminal, veo esto:

/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

Entonces, desde el terminal, la versión de Java es 1.8.0_131, que es mi versión deseada. Desde el escritorio, cuando inicio aplicaciones con JavaAppLauncher, la versión de Java es 10.0.1.

¿Cómo puedo revertir este desastre que Oracle hizo con su actualizador automático?

Magnetic_dud
fuente

Respuestas:

4

Tuve el mismo problema: tenía Java 8 instalado, pero luego instalé 10. Luego, eliminé 10, y cuando lancé un jar desde el terminal , se ejecutaría en la versión 8, y cuando verifiqué la versión java -versionen el terminal, Volvería java version "1.8.0_181. Sin embargo, cuando ejecuté un .jar desde el Finder , se ejecutaría en la v.10, y también si iba al panel de preferencias de Java, la versión figuraba como la versión 10. Esto no era deseable: estaba tratando de eliminar la v10 por completo.

Luego, eliminé JavaAppletPlugin rm /Library/Internet\ Plug-Ins/JavaAppletPlugin.pluginy reinstalé Java SE JDK 8 en línea, ¡y he aquí! ahora funciona. Cuando ejecuto .jar, se ejecutan en Java 8.

Me doy cuenta de que mencionaste esto en tu primer paso, pero ¿infiero que no lo hiciste? Si me equivoco sobre eso, entonces tienes un problema diferente. Pero esto resolvió el mío.

postylem
fuente
si yo no intento eliminar el plugin applet de todos modos, porque he deshabilitado en el navegador
Magnetic_dud
Tiene sentido total. Pero, según mi experiencia, parece que la presencia de JavaAppletPlugin está afectando qué versión de Java se utiliza para ejecutar aplicaciones .jar desde el Finder. Para mí, eliminé JVM v10, pero solo cuando eliminé JavaAppletPlugin el buscador dejó de usar v10 para ejecutar aplicaciones .jar.
postylem
45

Creo que el problema es navegar al directorio correcto ... Una vez que esté donde se supone que debe estar, puede ejecutar los comandos sudo para eliminar las versiones de Java que desee eliminar.

Primero, ejecute el comando en la terminal para determinar qué versión de Java está ejecutando,

java -version

entonces puede navegar a la versión molesta de Java que tiene la intención de eliminar mediante el siguiente comando:

cd /Library/Java/JavaVirtualMachines

luego, una vez que vea que está en la JavaVirtualMachinesruta, escriba lspara ver qué versiones de Java ha instalado,

ls

y, finalmente, cuando sepa qué versión o versiones de Java desea desinstalar:

sudo rm -rf jdk-10.0.1.jdk #or whichever version you want to delete
Colin Ilgen
fuente
El problema es que la versión que muestra el panel de control no coincide con la versión de Java en el terminal. Si quiero eliminar java 8.171 parece que no hay manera también: imgur.com/a/iIK67bD
Magnetic_dud
Y el jdk 10.0.1 no estaba presente en esa carpeta
Magnetic_dud
@Magnetic_dud aún debería ser capaz de depurar usando la estructura de directorio de archivos usando el comando ls y luego eliminar y reinstalar un nuevo Jdk que funcione o cualquier versión de Java que esté instalando ...
Colin Ilgen
9

Si tiene más de una versión 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

cambia tu JAVA_HOME

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home
La vacuna
fuente
-1

Descargué la versión anterior (de trabajo) de java.com

De hecho, Java 8.171 es la descarga que se muestra por defecto. No sé por qué se actualizó automáticamente a 10.0.1 cuando es de calidad beta.

Ahora, no lo instalará, dice "Lo siento, tienes el Java 10.0.1 más nuevo y mejor"

Para la instalación, ejecute los comandos aparentemente inútiles mencionados en la pregunta. Java seguirá funcionando en el terminal, pero luego el instalador le permitirá instalar la versión correcta, 1.8_171

Ahora, deshabilite las actualizaciones, si no desea volver a romper sus aplicaciones. Java es una amenaza para la seguridad, debe actualizarse mensualmente, así que asegúrese de que esté deshabilitado en su navegador.

Por alguna razón, si ejecuta java -version todavía obtendrá:

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

Cuál es otra versión incorrecta. De todos modos, lo importante es que ahora sus aplicaciones Java están funcionando, asegúrese de que el complemento del navegador esté deshabilitado para su seguridad.

Magnetic_dud
fuente