Unable to find a javac compiler-com.Sonne.tools.javac.Main nicht auf die classpath-Fehler
Ich versuche zu laufen java-Anwendung und ich erhalte folgenden Fehler,
Unable to find a javac compiler; com.Sonne.tools.javac.Main nicht auf
der classpath. Vielleicht JAVA_HOME nicht auf das JDK verweisen,
Ich habe schon viele Fragen und Lösung gefunden ist JAVA_HOME sollte Punkt-zu-JDK, nicht das JRE.
Dann habe ich versucht zu drucken, JAVA_HOME in der Eingabeaufforderung,
Hatte ich dieses set JAVA_HOME aus meiner computer->Eigenschaften->env-Variablen -> system-vars als unten,
Hatte ich auch Hinzugefügt neue variable in eclipse mit Einstellungen wie,
Und schließlich bin ich noch immer der gleiche Fehler. Was ist Los mit JAVA_HOME ?
Update :
In eclipse-preferences-installed jres
es ist nur ein Eintrag vorhanden ist und die jdk und ausgewählt,
Und unter project properties
java build path
-libraries
es ist JRE System Liberary [jdk1.8.0_31]
verwendet wird.
Update 1 :
C:\Program Files\Java\jdk1.8.0_31
haben Ordner mit dem Namen jre
. Ist, dass jre
Ordner das Problem verursacht wird ? Kann ich diesen Ordner löschen ? Gibt es eine Möglichkeit, fügen Sie nur jdk liberary im Projekt ?
- Bitten bestätigen Sie, ob Sie begonnen eine neue Konsole nach dem festlegen von Variablen oder nicht ? Wenn es eine neue Konsole, als für mich alles andere sieht sauber und korrekt, ich schlage vor, Sie deinstallieren und Neuinstallieren von java ? Manchmal Fehler bei der installation da sind. Verwenden .msi-oder .exe-Datei zu installieren statt kopieren einfügen Ordner.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eclipse ist ein IDE-und als solche hat es (mindestens) zwei Java-Versionen: die eine, Die es verwendet, sich selbst zu führen (
JAVA_HOME
) und eine JVM, die es verwendet, um Ihre Anwendung auszuführen. Die beiden müssen nicht identisch sein.So, Ihr problem zu lösen, müssen Sie sich in die Eclipse-Einstellungen, speziell
Installed JREs
gibt Ihnen eine Liste von Java-VMs, die Eclipse verwenden, um die Ausführung von Java-code aus Projekten. Meine Vermutung ist, dass es mehrere Einträge gibt, und standardmäßig wird ein JRE statt JDK.Stellen Sie sicher, Sie haben ein JDK in der Liste und gehen Sie dann zu Ihrem Projekt. In das Projekt können Sie auswählen, welche Java VM unter
Java Build Path
->Libraries
.[BEARBEITEN]
Schauen Sie genau auf dem letzten screenshot: Sie konfiguriert haben Eclipse zu verwenden
C:\Program Files\Java\jdk1.8.0_31\jre
was bedeutet, dass man richtete Sie auf die JRE im inneren des JDK. VerwendenC:\Program Files\Java\jdk1.8.0_31
statt (ohne die\jre
am Ende).[EDIT 2], Wenn Sie löschen die
jre
Ordner, Java wird aufhören zu arbeiten. Alle JDK enthält auch eine JRE. Die JRE enthältrt.jar
mitString.class
und dergleichen. Der Java-compiler ist intools.jar
die in der JDK.Wenn die Wiederherstellung des JRE-Eintrags in Eclipse nicht hilft, müssen Sie es manuell in den classpath.
Können Sie eine variable ("Variable Hinzufügen..."), um sicherzustellen, dass Eclipse-updates den Pfad, wenn Sie wechseln zu einem neuen/anderen JRE. Versuchen
JAVA_HOME
mit der Erweiterunglib/tools.jar
tools.jar
in der Liste. Gibt es inC:\Program Files\Java\jdk1.8.0_31\lib\tools.jar
?tools.jar
existiert inC:\Program Files\Java\jdk1.8.0_31\lib
C:\Program Files\Java\jdk1.8.0_31
. Es sollte nehmen ein paar Gläser aus...\jre\lib
(wiert.jar
enthältString.class
, zum Beispiel), aber es sollte auch eine Liste...\lib\tools.jar
.C:\Program Files\Java\jdk1.8.0_31
.rt.jar
Hinzugefügt wird, aber es gibt keine Existenz vontools.jar
JRE_LIB
. Sie können/../
zu gehen, eine Ebene nach oben wenn Sie:JRE_LIB/../../lib/tools.jar
tools.jar
zu classpath 🙂 und es funktioniert 🙂 danke 🙂