
La semana pasada instalé Oracle Java 8 con los siguientes comandos:
sudo apt-add-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
Todo parecía estar bien (seguí usando mi sistema normalmente, no puedo decir exactamente qué hice durante la semana). Ahora, cuando ejecuto java -version
obtengo
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)
Sin embargo, ahora cuando ejecuto javac -version
obtengo
/usr/lib/jvm/java-8-oracle/jre/lib/rt.jar: invalid LOC header (bad signature)
Exception in thread "main" java.lang.NoClassDefFoundError: javax/annotation/processing/ProcessingEnvironment
at com.sun.tools.javac.Main.compile(Main.java:54)
at com.sun.tools.javac.Main.main(Main.java:42)
Caused by: java.lang.ClassNotFoundException: javax.annotation.processing.ProcessingEnvironment
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 2 more
¿Supongo que hay algún problema con rt.jar
? ¿Cuál es la mejor manera de proceder aquí? ¿Debería intentar desinstalar/reinstalar Java 8? Si es así, ¿cuál es la forma más sencilla de hacerlo? ¿O me falta algún componente de Java? Quiero desarrollar programas Java en Eclipse y tengo entendido que oracle-java8-installer
me daría todo lo que necesito.
¿Alguien puede decirme qué se incluye en "Oracle Java 8"? Sé que hay muchas cosas de Java que podría instalar, por ejemplo, JDK, JVM... ¿para qué se utiliza cada una de estas cosas? ¿Obtendré todas ellas cuando instalo Java 8?
Respuesta1
rt.jar
es corrupto.
Elimine el instalador de Java posiblemente dañado:
sudo rm /var/cache/oracle-jdk8-installer/*.tar.gz
Luego reinstale:
sudo apt-get install --reinstall oracle-java8-installer