El actualizador de Java en mi Mac instaló una versión oscura de Java 10.0.1 que nunca había escuchado antes. El resultado es que TODAS mis aplicaciones Java ya no se ejecutan, lo que hace que Java sea inútil.
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 simplemente 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:
Entonces, desde el terminal, la versión de Java es 1.8.0_131, que es mi versión deseada. Desde el escritorio, cuando lanzo aplicaciones con JavaAppLauncher, la versión de Java es 10.0.1.
¿Cómo puedo revertir este desastre que hizo Oracle con su actualizador automático?
Respuesta
Tuve el mismo problema: tenía Java 8 instalado, pero luego instalé 10. Luego, eliminé 10, y cuando lancé un jar de el terminal se ejecutaría en la versión 8, y cuando verifiqué la versión con java -version
en el terminal, obtendrí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 aparecía como la versión 10. Esto no era deseable: tratando de eliminar v10 por completo.
Luego, eliminé JavaAppletPlugin con rm /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
y reinstalé Java SE JDK 8 en línea, ¡y listo! 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 hiciste este paso. Si me equivoco en eso, entonces «Tengo un problema diferente. Pero este resolvió el mío.
Comentarios
- Sí, no intenté eliminar el complemento del applet porque de todos modos lo desactivé en el navegador
- Tiene mucho sentido. Pero, según mi experiencia, parece que la presencia de JavaAppletPlugin está afectando la versión de Java que se usa para ejecutar aplicaciones .jar desde el Finder. Para mí, eliminé la JVM v10, pero solo cuando eliminé JavaAppletPlugin, el buscador dejó de usar v10 para ejecutar aplicaciones .jar.
Respuesta
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á En ejecución,
java -version
luego puede navegar a la molesta versión de Java que desea eliminar mediante el siguiente comando:
cd /Library/Java/JavaVirtualMachines
luego, una vez que vea que están en la ruta JavaVirtualMachines
, escriba ls
para ver qué versiones de Java que 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
Comentarios
- El problema es que la versión que muestra el panel de control no coincide con la versión de Java en la terminal. Si quiero eliminar java 8.171 parece que no hay forma también: imgur.com/a/iIK67bD
- Y el jdk 10.0. 1 no estaba presente en esa carpeta
- @Magnetic_dud, aún debería poder depurar usando la estructura de su 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.
- Simple y funcionó para mí. ¡Gracias!
Responder
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
cambie su JAVA_HOME
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home
Respuesta
Descargué la versión anterior (en funcionamiento) de java.com
De hecho, Java 8.171 es la descarga que» se muestra de forma predeterminada. 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 la versión 10.0.1 Java más nueva y mejor»
Para instalar, ejecuta los comandos aparentemente inútiles mencionados en la pregunta. Java seguirá funcionando en la terminal, pero luego el instalador le permitirá instalar la versión correcta, 1.8_171
Ahora, desactive las actualizaciones, si no desea volver a romper sus aplicaciones. Java es una amenaza para la seguridad, debería actualizarse mensualmente, así que asegúrese de que esté desactivado en su navegador.
Por alguna razón, si ejecuta java -version todavía obtiene:
java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Que 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 por su seguridad.
Responder
En mi caso, tenía dos JDK instalados en mi computadora v11 y v7. Necesitaba ejecutar Eclipse Luna en mi computadora para un proyecto. Siempre que ejecuto en cmd java -version
obtuve java version 11.0.....
etc. «
La solución para mí fue cambiar la variable PATH
; para señalar el JDK con el que necesitaba que Eclipse se ejecutara.
Así que básicamente cambio de:
C:\Program Files\Java\jdk-11.0.2\bin
a
C:\Java\JDK7\bin
Ahora, el resultado de ejecutar java -version es:
java version "1.7.0_76"
Comentarios
- Agradezco su respuesta, pero parece ser una respuesta destinada a Windows en una publicación sobre macOS.