Ich bin ein relativer Neuling in der Welt der Java-Unternehmensentwicklung. Der Java-Guru meiner Organisation ist auf unbestimmte Zeit in Familienurlaub, und mir wurde die Aufgabe übertragen, einige der von ihm entwickelten Java-Anwendungen zu warten. Er hat Eclipse [Kepler SR1] mit Maven auf meinem Computer eingerichtet, bevor er gegangen ist, und es schien in Ordnung zu sein.
Jetzt bin ich bereit, meine erste Änderung bereitzustellen und muss einen Maven ausführen install
, aber ich habe Probleme, ihn zum Laufen zu bringen - ich erhalte die folgende Ausgabe auf meiner Konsole:
[FEHLER] Fehler beim Ausführen des Ziels org.apache.maven.plugins: maven-compiler-plugin: 3.1: Kompilieren (Standardkompilierung) im Projekt mrpapp: Kompilierungsfehler
[ FEHLER ] In dieser Umgebung wird kein Compiler bereitgestellt. Vielleicht laufen Sie eher auf einer JRE als auf einem JDK?
aber ich auf jeden Fall bin läuft ein JDK und kein JRE. Ich habe mein $JAVA_HOME
( C:\Program Files (x86)\Java\jdk1.7.0_60
) doppelt überprüft und es hat ein javac.exe
in seinem bin
Verzeichnis.
Ich füge eine Kopie meiner pom.xml
Datei zur Überprüfung bei. Ich bin mir sicher, dass etwas drin ist, das das Problem verursacht, aber ich bin mir nicht sicher, was es sein könnte. Ich verwende einen Laptop mit Windows 7 64-Bit. Wenn Sie weitere Plattform- / Umgebungsinformationen benötigen, kann ich diese ebenfalls bereitstellen.
Jede Hilfe wird sehr geschätzt.
mvn install
) direkt über die Befehlszeile auszuführen? Eine dieser beiden Fragen kann auch helfen: stackoverflow.com/questions/19655184/… und stackoverflow.com/questions/15220392/…javac -v
ob es funktioniert.mvn help:system
und überprüfen Sie, ob die Umgebungseinstellungen und Systemeigenschaften Ihren Erwartungen entsprechen.Antworten:
Gehen Sie zu Fenster → Einstellungen → Java → Installierte JREs.
Überprüfen Sie, ob ein Eintrag auf Ihren JDK-Pfad verweist. Wenn nicht, klicken Sie auf die Schaltfläche Bearbeiten und geben Sie den Pfad ein, den Sie für Ihre
JAVA_HOME
Umgebung konfiguriert haben.quelle
Screenshot Fügen Sie 'tools.jar' zur installierten JRE hinzu.
Eclipse
->window
->preference
.installed JREs
->Edit
tools.jar
aus demjava/JDKx.x/lib
Ordner.quelle
Gehen Sie zu Fenster> Einstellungen> Java> Installierte JREs> und überprüfen Sie Ihre installierten JREs. Sie sollten dort einen Eintrag mit einem JDK haben.
https://cduu.wordpress.com/2013/03/08/maven-eclipse-compiler-error-no-compiler-is-provided-in-this-environment/
quelle
Ich habe alle Dinge ausprobiert; Das, was für mich funktioniert hat, ist:
quelle
Fügen Sie diese Konfigurationen in pom.xml hinzu
<project ...> ... <build> ... <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.7</source> <target>1.7</target> <fork>true</fork> <executable>C:\Program Files\Java\jdk1.7.0_79\bin\javac</executable> </configuration> </plugin> </plugins> </build> ... </project>
quelle
Das hat bei mir funktioniert. 1. Klicken Sie auf Fenster-> Einstellungen -> Installierte JRE. 2. Überprüfen Sie, ob Ihre Referenz für JDK gilt (siehe Abbildung unten).
Wenn nicht, klicken Sie auf Hinzufügen-> Standard-VM -> Geben Sie den JDK-Pfad an, indem Sie das Verzeichnis auswählen, und klicken Sie auf Fertig stellen (siehe Abbildung)
Klicken Sie im letzten Schritt auf Installierte JREs -> Ausführungsumgebungen -> wählen Sie Ihre JDE aus (siehe Abbildung unten)
Maven -> Reinigen
quelle
Ich hatte auch einen ähnlichen Fehler, als ich mit Jdk1.8_92 arbeitete. Für mich fand ich tools.jar fehlte in meinem jdk-Ordner. Da ich in der Konsole lief, konnte ich die von anderen vorgeschlagenen Optionen für Eclipse nicht ausprobieren.
Ich habe jdk-8u92-windows-x64 installiert. Nachdem ich alle Optionen ausprobiert hatte, stellte ich fest, dass tools.jar im Ordner jdk1.8.0_92 / lib fehlte. Ich habe tools.jar von meiner älteren Java-Version kopiert. Dann konnte es kompilieren.
quelle
Bitte überprüfen Sie, ob Sie die folgenden Einträge im Element Ihrer pom.xml haben, insbesondere die jdk.version, da der Wechsel zu einem installierten jre den ähnlichen Fehler nicht behoben hat.
<properties> <jdk.version>1.7</jdk.version> <spring.version>4.1.1.RELEASE</spring.version> <jstl.version>1.2</jstl.version> <junit.version>4.11</junit.version> </properties>
quelle
Wenn jemand Eclipse in Ubuntu ausführt und dieses Problem hat, habe ich die Antwort folgendermaßen gefunden:
quelle
Beim Versuch, einen Maven-Build in Eclipse in einer neu installierten Eclipse Neon-Installation (für JEE-Entwickler) unter Windows 10 mit installiertem JDK 8 und JRE 8 auszuführen, wurde der gleiche Fehler angezeigt.
Ich hatte versucht, tools.jar als externe Bibliothek anzugeben und das jdk als -vm in Eclipse festzulegen. Keines dieser Dinge funktionierte.
Die Auswahl des JDK als Standardausführungsumgebung wie oben erwähnt hat den Trick ausgeführt.
Der Text über dem Listenfeld kompatibler JREs in Schritt 3 lautet "Eine Standard-JRE kann durch Aktivieren angegeben werden".
Hinweis: Ich habe auch das Maven-Compiler-Plugin, das explizit 1.8 im POM auflistet
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin>
quelle
Installierte JRE In meinem Fall habe ich das Problem durch Entfernen von Duplikaten von Namen gelöst und nur eine mit dem Namen jdk.1.8.0_101 beibehalten
quelle
Folgen Sie: Windows -> Einstellungen -> Java ---> Installierte JREs
SampleImage
Klicken Sie auf " Suchen .."
Navigieren Sie zu Laufwerk C ---> Programme programmieren
Beispielbild 2
Eclipse findet alle jre's und jdk's -> wählen Sie eines der jdk und wählen Sie Apply
quelle
In meinem Fall hatte ich eine Ausführungskonfiguration erstellt, und bei jedem Versuch, sie auszuführen, wurde der Fehler angezeigt. Nach der Suche auf einigen Websites habe ich die Ausführungskonfiguration bearbeitet und auf der Registerkarte JRE die Laufzeit-JRE als 'Arbeitsbereich-Standard-JRE' ausgewählt, die ich bereits so konfiguriert hatte, dass sie auf meine lokale Java JDK-Installation verweist (z. B. C: \ Programme (x86)). \ Java \ jdk1.8.0_51). Dies löste mein Problem. Vielleicht hilft es jemandem da draußen.
quelle
Das gleiche Problem trat auf. Ich habe Java in Eclipse auf den Ordner bin verwiesen, indem ich Folgendes verwendet habe: Windows> Einstellungen> Java> installierte JREs> vorhandene JRE entfernen und auf Ihren Java-Bin-Ordner verweisen (hauptsächlich unter C: \ Programme \ Java \ jdk1.8) .x_xx).
Führen Sie dann maven install aus, damit es funktioniert.
quelle
Öffnen Sie eine Befehlszeile und geben Sie Folgendes ein, um zu überprüfen, was Ihr Maven verwendet:
Stellen Sie sicher, dass JAVA_HOME auf ein JDK-Home und nicht auf eine JRE verweist
Unter Windows:
Gehen Sie zu Systemeigenschaften -> Erweiterte Systemeinstellungen -> Erweitert -> Umgebungsvariable und wählen Sie im Abschnitt Systemvariablen die Variable JAVA_HOME aus und klicken Sie auf Bearbeiten. Füllen Sie das Formular mit dem folgenden Variablennamen aus: JAVA_HOME Variablenwert:
Unter Unix:
export JAVA_HOME=<ABSOLUTE_PATH_TO_JDK>
siehe diesen Link
quelle
Als ich lief
mvn compile
, wurde in der Konsole der folgende Fehler angezeigt :[INFO] Changes detected - recompiling the module! [WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent! [INFO] Compiling 1087 source files to C:\Code\DevVNextComplete\Development_vNext\Source\JARS\target\classes [INFO] ------------------------------------------------------------- [ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK? [INFO] 1 error
[Auflösung]
Ich hatte die Variable JAVA_HOME in meine Umgebungsvariablen aufgenommen und dann funktionierte es.
quelle
Wenn Sie maven verwenden, fügen Sie das folgende Tag in pom.xml (Versionen nach Bedarf aktualisieren) in das Plugins-Tag ein.
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin>
quelle
Bei mir (unter Windows 10) wurde bei der Ausführung an der Windows-Eingabeaufforderung die Fehlermeldung "In dieser Umgebung wird kein Compiler bereitgestellt" angezeigt
mvn install
. Das Update hat die Umgebungsvariable JAVA_HOME so geändert , dass sie auf mein JDK verweist (C: \ Programme \ Java \ jdk1.8.0_101). zuvor hatte es auf den jre hingewiesen.Und damit Eclipse das neue JDK verwendet, habe ich
eclipse.ini
meine Eclipse-Distribution bearbeitet und die Zeile für-vm
in geändertC:\Program Files\Java\jdk1.8.0_101\bin
.quelle
Überprüfen Sie die Java-Version in pom.xml und die JRE-Version in Eclipse-> Fenster-> Einstellungen-> Installierte JREs. In meinem Fall hat pom.xml eine andere Version (es hatte 1.8 während Eclipse mit 1.7). Das Korrigieren der Version in pom.xml auf 1.7 hat funktioniert.
quelle
Wenn Sie außerhalb von Eclipse im Befehlsfenster arbeiten,
stellen Sie sicher, dass Sie über das richtige JAVA_HOME verfügen und dass dieses Verzeichnis den Compiler enthält, indem Sie den folgenden Befehl in das Befehlsfenster eingeben:
quelle
1. Gehen Sie zu Windows -> Einstellungen -> Java -> Installierte JREs -> Ausführungsumgebungen
2.Wählen Sie die aktuell verwendete Java-Version im Feld "Ausführungsumgebungen" aus. Damit Sie im Feld "Kompatible JREs" " jre1.8.0_102 [perfekte Übereinstimmung] " sehen können (wenn Ihre Java-Version 1.8 ist). Versuchen Sie dann, mit Maven zu bauen.
quelle
Maven benötigt JDK zum Kompilieren. In Eclipse müssen Sie Ihre JRE in den JDK-Pfad ändern / ERSETZEN, auf den Ihr JAVA_HOME verweist. Navigieren Sie zu Fenster> Einstellungen> Java> Installierte JREs.
Stellen Sie sicher, dass das Maven-Compiler-Plugin in Ihrer pom.xml die Quelle und das Ziel der Java-Version in Ihrem JAVA_HOME enthält
http://learn-automation.com/maven-no-compiler-is-provided-in-this-environment-selenium/
quelle
Stellen Sie sicher, dass Sie festgelegt haben
%JAVA_HOME%
, indem Sie dieecho %JAVA_HOME%
Eingabeaufforderung eingeben . Wenn Sie diesen Satz nicht festgelegt haben, müssen Sie Ihren Java-Pfad zu den Umgebungsvariablen von Window hinzufügen.quelle
Ich hatte ein Problem mit Eclipse Neon, bei dem sich die Standardeinstellung des Arbeitsbereichs nicht geändert hat, obwohl ich unter Einstellungen-> Java-> Installierte JREs den richtigen Speicherort hinzugefügt habe. Dies war in einem neuen Arbeitsbereich, den ich erstellt habe, um an einem Code-Zweig zu arbeiten. Es wurde ursprünglich auf den JRE-Speicherort und nicht auf das JDK festgelegt. Selbst nachdem ich die Einstellungen geändert hatte, konnte ich mit der Befehlszeile erstellen, aber das Erstellen in Eclipse erzeugte den Fehler no compiler. Bitte sehen
Maven Package Compilation Error
für meine Antwort, welche Eclipse-Konfigurationsdatei (en) manuell bearbeitet werden mussten, damit Eclipse den richtigen Arbeitsbereich als Standard erkennt. Ich habe immer noch keine Ahnung, warum die Einstellungen nicht in die Konfiguration des neuen Arbeitsbereichs übernommen wurden.
quelle