724 Stimmen

Kein Compiler wird in dieser Umgebung bereitgestellt. Vielleicht führen Sie auf einer JRE statt auf einem JDK aus?

Ich kompiliere ein Projekt in Eclipse mit m2eclipse. Ich habe den JDK-Pfad in Eclipse wie folgt festgelegt:

Windows-->Einstellungen-->installierte JREs--> jdk1.7.xx  Pfad

Aber hier tritt ein Fehler auf

[FEHLER] KOMPILIERUNGSFEHLER :
[INFO] -------------------------------------------------------------
[FEHLER] Kein Compiler ist in dieser Umgebung vorhanden. Vielleicht läuft es auf einer JRE anstatt auf einer JDK?
[INFO] 1 Fehler
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FEHLGESCHLAGEN
[INFO] ------------------------------------------------------------------------
[INFO] Gesamtzeit: 1.424s
[INFO] Beendet um: Di Oct 29 15:21:01 IST 2013
[INFO] Endgültiger Speicher: 5M/15M
[INFO] ------------------------------------------------------------------------
[FEHLER] Fehler bei der Ausführung des Ziels org.apache.maven.plugins:maven-compiler-   plugin:3.1:compile (default-compile) in Projekt TEST-WEB: Kompilierungsfehler
[FEHLER] Kein Compiler ist in dieser Umgebung vorhanden. Vielleicht läuft es auf einer JRE anstatt auf einer JDK?

41voto

jlars62 Punkte 6836

Ich habe diesen Fehler erhalten, als ich versucht habe, ein Maven-Build innerhalb von Eclipse durchzuführen.

Für mich war die Lösung, zu Run -> Run Configurations zu gehen, das Maven Build auszuwählen, das ich ausgeführt habe (aus dem linken Panel). Anschließend habe ich den Reiter JRE angeklickt und die Option Workspace default JRE ausgewählt.

37voto

GauRang Omar Punkte 821

Zu Windows -> Einstellungen -> Java -> Installierte JREs gehen

Vielleicht ist JRE bereits hinzugefügt Bildbeschreibung hier eingeben

Auf Hinzufügen klicken -> Standard-VM -> Weiter -> Verzeichnis

und nach dem JDK suchen in meinem Fall war der Pfad C:\Program Files\Java\jdk1.8.0_111

Dann auf Fertig stellen klicken.

Sie werden ein Fenster wie dieses sehen Bildbeschreibung hier eingeben

Wählen Sie JDK -> Übernehmen -> OK

Und Sie sind fertig.

23voto

ankit Punkte 2225

Ich hatte das gleiche Problem und habe einfach JAVA_HOME zu den Umgebungsvariablen hinzugefügt.

env var

  • Wenn Sie Eclipse verwenden, verweisen Sie einfach auf https://stackoverflow.com/a/21279068/6097074
  • Wenn Sie IntelliJ verwenden, öffnen Sie nach dem Hinzufügen von JAVA_HOME einfach das Eingabeaufforderungsfenster aus dem Projektverzeichnis und führen Sie mvn clean install aus (verwenden Sie nicht das IntelliJ-Terminal).

14voto

Sir Hackalot Punkte 501

Ich habe alles oben Genannte ausprobiert, erhalte jedoch immer noch dieselbe Fehlermeldung.

In meinem Fall wurde tatsächlich eine falsche JRE als JRE-Systembibliothek im projektspezifischen Build-Pfad verwendet, die offensichtlich alle anderen hier diskutierten Einstellungen außer Kraft setzte.

Wenn das in Ihrem Fall so ist, versuchen Sie Folgendes:

  1. Öffnen Sie die projektspezifischen Bibliotheken des Java Build Path: Klicken Sie mit der rechten Maustaste auf "Projekt > Build Path > Build Path konfigurieren..." und wählen Sie den Tab "Bibliotheken".
  2. Wählen Sie den Eintrag "JRE-Systembibliothek" aus und klicken Sie auf "Entfernen".
  3. Klicken Sie auf "Library hinzufügen...".
  4. Ein Assistent erscheint. Wählen Sie "JRE-Systembibliothek" und klicken Sie auf "Weiter".
  5. Wählen Sie nun das korrekte JDK aus (in meinem Fall "Workspace-Standard-JRE", das ich mit einem JDK konfiguriert habe).
  6. Schließen Sie den Assistenten, indem Sie auf "Fertigstellen" klicken.
  7. Schließen Sie das Dialogfeld "Eigenschaften", indem Sie auf "OK" klicken.

12voto

Dhaval Simaria Punkte 1646

Ich stand vor dem gleichen Problem, als ich versuchte, ein Jar-Datei meiner Projektanwendung mit mvn clean install zu erstellen, obwohl die Anwendung gut lief, als sie von Eclipse aus lief.

Das Problem war tatsächlich zu naiv, denn ich hatte die Umgebungsvariable JAVA_HOME nicht gesetzt. Alles, was ich tun musste, war, die Umgebungsvariable JAVA_HOME auf das JDK-Verzeichnis zu setzen, sicherzustellen, dass es nicht bis zum "\bin" ist und ohne Semikolon ";".

Gib eine Bildbeschreibung hier ein

Wie ich es verstanden habe:

Die Anwendung hat in Eclipse gut funktioniert, da die JRE System Library auf die JRE innerhalb des JDK-Ordners verweist und nicht auf den externen JRE-Ordner ohne JDK. [Wie in anderen Antworten sehr gut erklärt]

Diese Konfiguration gilt nicht für den Maven-Befehl, den wir in der Eingabeaufforderung ausführen. Er sucht nach wie vor nach der JAVA_HOME-Variable, um auf die JRE-Systembibliothek zuzugreifen, und wenn sie nicht gefunden wird, verweist er auf den externen JRE-Ordner ohne JDK.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X