Javac-Ausnahme, Java 8

Javac-Ausnahme, Java 8

Letzte Woche habe ich Oracle Java 8 mit den folgenden Befehlen installiert:

sudo apt-add-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

Alles schien in Ordnung zu sein (ich habe mein System wie gewohnt weiter verwendet, kann aber nicht genau sagen, was ich in der Woche gemacht habe). Wenn ich jetzt ausführe, java -versionbekomme ich

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)

Wenn ich jetzt jedoch ausführe, javac -versionbekomme ich

/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

Ich vermute, es gibt ein Problem mit rt.jar? Wie gehe ich hier am besten vor? Soll ich versuchen, Java 8 zu deinstallieren/neu zu installieren? Wenn ja, wie geht das am einfachsten? Oder fehlt mir eine Java-Komponente? Ich möchte Java-Programme in Eclipse entwickeln und so habe ich es verstanden, dass ich damit oracle-java8-installeralles bekomme, was ich brauche.

Kann mir jemand sagen, was in „Oracle Java 8“ enthalten ist? Ich weiß, dass es viele Java-Dinge gibt, die ich installieren könnte, z. B. das JDK, die JVM ... wofür werden diese Dinge jeweils verwendet und bekomme ich sie alle, wenn ich Java 8 installiere?

Antwort1

rt.jarist korrupt.

Entfernen Sie das möglicherweise beschädigte Java-Installationsprogramm:

sudo rm /var/cache/oracle-jdk8-installer/*.tar.gz

Anschließend neu installieren:

sudo apt-get install --reinstall oracle-java8-installer

verwandte Informationen