Ich habe mein JAVA_HOME auf Folgendes eingestellt:
C:\Program Files (x86)\Java\jdk1.6.0_18
Nachdem ich ausgeführt habe maven install
, erhalte ich folgende Nachricht von Eclipse :
Grund:
Unable to locate the Javac Compiler in:
C:\Program Files (x86)\Java\jre6\..\lib\tools.jar
Please ensure you are using JDK 1.4 or above and
not a JRE (the com.sun.tools.javac.Main class is required).
In most cases you can change the location of your Java
installation by setting the JAVA_HOME environment variable.
Ich bin sicher, dass dies der schwierige Teil ist
Bitte stellen Sie sicher, dass Sie JDK 1.4 oder höher und keine JRE verwenden
Wenn ich die Konfiguration ausführe, ist sie auf JRE6 eingestellt. Wie ändere ich es auf JDK 1.6, das ich bereits installiert habe?
Ich habe sogar versucht, das Plugin zu ändern:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<executable>C:\Program Files (x86)\Java\jdk1.6.0_18\bin</executable>
</configuration>
</plugin>
Trotzdem bekomme ich den gleichen Fehler.
Ich benutze das Eclipse Maven Plugin. Wie kann ich in Eclipse von JRE zu JDK wechseln?
set
, ob JAVA_HOME auf das eingestellt ist, was Sie denken?java -version .6.0_18-ea" time Environment (build 1.6.0_18-ea-b04) ) Client VM (build 16.0-b11, mixed mode, sharing)
java -version
wird. Dies kann die JRE- oder JDK-Installation sein.javac -version
wäre etwas nützlicher. Selbst dann, wenn PATH korrekt und JAVA_HOME falsch ist, werden diese immer noch so angezeigt, wie Sie es erwarten würden.Antworten:
Sie können versuchen, das von JDK Eclipse verwendete Update wie folgt zu aktualisieren:
Hinzufügen und stellen Sie die JRE im Menü Fenster → Einstellungen ... → Java → Installierte JREs :
Ist dies nicht der Fall, können die Klammern und Leerzeichen im Pfad JAVA_HOME Probleme verursachen. Versuchen Sie, Ihr JDK an einen anderen Speicherort zu kopieren und Ihr JAVA_HOME zu aktualisieren.
quelle
Die Datei eclipse.ini benötigt die
vm
Argument, um auf Ihren JDK-Speicherort zu verweisen.Bearbeiten Sie die
eclipse.ini
Datei so, dass sie auf Ihre JDK-Startseite verweist.Dadurch wird sichergestellt, dass Eclipse vom JDK ausgeführt wird und keine Standard-JRE auf Ihrem Computer.
quelle
Sie versuchen:
Gehen Sie zu
Preferences/Java/Installed JREs
und fügen Sie eine für den Standort"C:\Program Files\Java\jdk1.6.0_27\jre
oder ähnliches hinzu.Entfernen Sie die für
C:\Program Files\Java\jre6
Wie Sie sehen, ist der Pfad
C:\Program Files\Java\jre6\..\lib\tools.jar
nur dann sinnvoll, wenn der erste Teil (bis zum / ..) durch ersetzt wirdC:\Program Files\Java\jdk1.6.0_27\jre
.quelle
Das Setzen der Gabel auf true hat das Problem für mich behoben.
quelle
Ich hatte genau das gleiche Problem! Ich hatte tagelang gesucht und gesucht, weil all das Gerede über "Setzen Sie die -vm c: \ Programme \ java \ jdkxxxxx \ bin" in das Ini ar als Argument für eine Verknüpfung überhaupt nicht half !
(Klinge ich frustriert? Glauben Sie mir, das ist eine Untertreibung! Ich bin einfach wütend, weil ich eine Woche verloren habe, um Maven zuverlässig zu machen!)
Ich hatte ein sehr unvorhersehbares Verhalten. Manchmal wurde es kompiliert und manchmal nicht. Wenn ich a
maven clean
, konnte es den Compiler nicht finden und schlug fehl. Wenn ich dann etwas im Build-Pfad geändert habe, hat es plötzlich wieder funktioniert !!Bis ich zum Menü Fenster → Einstellungen → Java → Installierte JREs ging . Ich habe eine neue JRE unter Verwendung des Speicherorts des JDK hinzugefügt und dann die JRE entfernt. Plötzlich lief Maven stabil!
Vielleicht lohnt es sich, Buchstaben mit einer Schriftgröße von 30 oder so in das Apache-Handbuch einzutragen?
Bei allem Respekt ist dies für die Java-Community einfach unverschämt! Ich kann mir nicht vorstellen, wie viele Tage all diese Leute verloren haben, um ihre Probleme dieser Art zu lösen! Ich kann mir unmöglich vorstellen, dass dies als endgültige Version veröffentlicht wird. Ich persönlich würde es nicht einmal wagen, so etwas unter dem Namen Beta zu veröffentlichen Software zu veröffentlichen ...
Mit freundlichen Grüßen so oder so ... Nach einer Woche der Manipulation kann ich endlich anfangen, mich zu entwickeln. Ich hoffe, mein Chef wird davon nichts erfahren. Ich habe mich sehr bemüht, ihn davon zu überzeugen, nicht zu .NET zu gehen, und es tut mir bereits leid.
quelle
Ich habe das gleiche Problem mit Run as -> Maven install in Eclipse. JAVA_HOME und eclipse.ini waren in Ordnung und zeigten auf mein aktuelles JDK. Aber m2clipse hat JRE verwendet. Die Verwendung von mvn install außerhalb von Eclipse hat gut funktioniert!
In meinem Fall habe ich das Problem wie folgt gelöst:
Ich denke, Maven berücksichtigt nicht, welcher aktiv ist ...
quelle
Basierend auf dem Kompilieren von Quellen mit einem anderen JDK müssen Sie den Fork in Ihrer pom.xml- Datei auf true setzen .
quelle
Ich habe gerade Maven installiert 3.0.4, eingestellt
M2_HOME
,M2
undJAVA_HOME
entsprechend. Ich habe dann die folgenden Befehle ausgeführt:mvn archetype:generate....
mvn compile
Ich habe eine fehlgeschlagene Nachricht erhalten wie :
maven unable to locate javac compiler
.Auf meinem Computer ist JRE standardmäßig unter C: \ Programme \ Java \ Jre.1.6 installiert . Und ich habe das andere C: \ java \ jdk1.6 und
JAVA_HOME
setze dieses C: \ java \ jdk1.6 .Ich habe nichts Falsches an meiner Einstellung gesehen. Nach der Suche habe ich mich entschlossen, nachzuschauen .
mvn.bat
Ich habe%JAVA_HOME%
jeden Schritt wiederholt und es wurde korrekt angezeigtC:\java\jdk1.6
, aber als ich den Befehl ausführtemvn --version
, wurde Java home angezeigt: C: \ program files \ java \ jre1.1.6 .Schließlich fand ich heraus, dass ich nur
-Djava.home=c:\java\jdk1.6
wie im folgenden Befehl festlegen muss und jetzt gut funktioniert:%MAVEN_JAVA_EXE% %MAVEN_OPTS% -classpath %CLASSWORLDS_JAR% "-Dclassworlds.conf=%M2_HOME%\bin\m2.conf" "-Djava.home=%JAVA_HOME%" "-Dmaven.home=%M2_HOME%" %CLASSWORLDS_LAUNCHER% %MAVEN_CMD_LINE_ARGS%
Hinweis: Dies gilt für
mvn
die Befehlszeile und nicht für Eclipse.quelle
Ich habe das Problem gelöst, indem ich den Speicherort der installierten JRE in das im JDK selbst vorhandene Verzeichnis geändert habe. Einstellen des richtigen Werts von
JAVA_HOME
Umgebungsvariable hat das Problem nicht behoben.In meinem Fall gibt es zwei Verzeichnisse
C:\Program Files\Java\jdk1.7.0_03 --> For JDK
C:\Program Files\Java\jre7 --> For JRE
Anfangs habe ich
C:\Program Files\Java\jre7
in Eclipse als Installierte JRE festgelegt und im Fall von Maven wurde der gleiche Fehler angezeigt (Ant funktionierte einwandfrei).Durch Ändern der installierten JRE in
C:\Program Files\Java\jdk1.7.0_03\jre7
Installierte JRE in Eclipse wird das Problem behoben.quelle
Vergessen Sie nicht, dass Sie, wenn Sie Ihr Projekt von einer bestimmten Eclipse-Konfiguration aus ausführen, die Java-Laufzeit unter "Konfigurationen ausführen" -> "Ihre Maven-Konfiguration" -> "Registerkarte JRE" ändern sollten, nachdem Sie das richtige JDK hinzugefügt haben Ihre Eclipse-Einstellungen.
quelle
Es hört sich so an, als würde Maven die JRE verwenden, nicht das JDK. Vielleicht haben Sie Maven vor der Installation des JDK installiert?
Überprüfen Sie die Einstellungsdateien . Insgesamt gibt es drei: System, Benutzer und Projekt. Dies ist höchstwahrscheinlich in der Installationskonfiguration ($ M2_HOME / conf / settings.xml) oder möglicherweise in der Konfiguration pro Benutzer ($ {user.dir} /. M2 / settings.xml) der Fall.
quelle
Nur Eclipse-Setup
Führen Sie die folgenden Schritte aus:
Klicken Sie mit der rechten Maustaste auf Eclipse-Projekteigenschaften
Java Build Path → Bibliotheken
Wählen Sie JRE System Library → Klicken Sie auf die EditSchaltfläche
Klicken Sie auf die Schaltfläche "Installierte JREs ..."
Bearbeiten Sie JRE als: Setzen Sie JRE Home = JAVA_HOME oder JAVA_HOME \ jre
Bildschirmfoto:
quelle
Klicken Sie mit der rechten Maustaste auf das Menü Projekt → Eigenschaften → Java-Erstellungspfad .
Wählen Sie den JRE-Systempfad → Bearbeiten . Wählen Sie die Standard-JRE für den Arbeitsbereich aus und zeigen Sie auf JDK> 1.4.
quelle
Benutzen Sie das Menü Fenster → Einstellungen → Java → Installierte JREs → Execution Environments -> klicken Sie auf das Kontrollkästchen auf der rechten Seite.
quelle
Die Lösung ist einfach. Manchmal zeigen die Eclipse- Fenster → Einstellungen → Java → Installierte JREs auf
C:\Program files\Java\jre
.Wenn ich es geändert habe,
C:\Program files\Java\JDK 6.0\jre
funktioniert es zu 100%.quelle
Wie bereits von mehreren anderen erwähnt, sollte das Eclipse- Fenster → Einstellungen ... → Java → Installierte JREs auf das von Ihnen installierte JDK und nicht auf die JRE verweisen . Nur dann kann es den
../lib
in der Fehlermeldung genannten Ordner finden .Trotzdem kann das Problem erneut auftreten. Mein Ausweg in Eclipse v4.2 (Juno) ist ein Menü Maven → Projekt aktualisieren ... danach verschwindet das Problem.
Ich vermute, der Grund dafür ist, dass einige der von Eclipse generierten Dateien (.classpath, .project, .preferences) für das Projekt, in dem ich diese Probleme habe, in Subversion sind. Ein SVN-Update führt das Problem ein, und ein Konfigurationsupdate von Maven in Eclipse behebt es erneut.
Echte Lösung: Lassen Sie die von Eclipse generierten .files in der Versionskontrolle weg und lassen Sie das Maven Eclipse-Plugin die Projektkonfiguration übernehmen. (Zusätzliche Hinweise / Vorschläge sind willkommen) .
quelle
In meinem Fall im Eclipse-Menü Ausführen → Debug-Konfigurationen .
Auf der Registerkarte JRE wurde das Problem durch Auswahl des JDK anstelle des JRE behoben.
quelle
Ich hatte das gleiche Problem unter Amazon Linux. Es stellte sich heraus, dass ich die Entwicklerversion des JDK installieren musste:
quelle
Gehen Sie zum Eclipse-Menü Fenster → Einstellungen ... → Java → Installierte JREs sollten auf das von Ihnen installierte JDK verweisen, nicht auf die JRE.
quelle
Sie können auch sicherstellen, dass Eclipse alle aktualisierten Änderungen enthält. Klicken Sie dazu mit der rechten Maustaste auf Ihr Projekt und klicken Sie auf den Menüpunkt "Aktualisieren".
quelle
Viele andere Antworten sagen Ihnen, dass Sie Ihre Eclipse auf ein JDK anstelle einer JRE verweisen sollen.
Hier ist eine weitere Antwort mit spezifischeren / klareren [als ich in jeder Antwort hier gesehen habe] Schritt für Schritt, wie das geht: Wie installierst du JDK?
Das hat mich für das gleiche Problem gelöst.
quelle
Stellen Sie sicher, dass sich das "-vm" in Ihrer eclipse.ini in zwei getrennten Zeilen befindet, dh:
quelle
Ich würde vermuten, dass der Speicherort des Compilers in einem POM definiert ist, damit sich das Compiler-Plugin an dem angezeigten JRE-Speicherort befindet, anstatt an dem JDK-Speicherort, auf den JAVA_HOME zeigt.
quelle
<groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.0.2</version> <configuration> <source>1.6</source> <target>1.6</target>
Sie müssen angeben ,
JAVA_HOME
inmvn.ini
(es ist in der Maven - Ordner/bin
) und Ihr Problem verschwindet.quelle
Wenn Sie JAVA_HOME festlegen und das Problem weiterhin besteht, versuchen Sie Folgendes.
(Ich hatte das gleiche Problem auf einem neu installierten PC.)
Angenommen, Sie verwenden Eclipse.
Das ist alles. Ihr Projekt wird nicht unter solchen Problemen leiden.
quelle
Ich hatte den gleichen Fehler wegen der JUnit- Version. Ich hatte drei 3.8.1 und bin zu 4.8.1 gewechselt.
Die Lösung lautet also:
Sie müssen zum POM gehen und sicherstellen, dass Ihre Abhängigkeit so aussieht
quelle
Ich habe die Konfiguration von maven-Compiler-Plugin hinzufügen
executable
undfork
mit dem Wert wahr.Es hat bei mir funktioniert.
quelle
Tun
Echo %JAVA_HOME%
und dannmvn --version
.Der JRE- Pfad sollte identisch sein ... dann gehen Sie zum Menü Fenster → Einstellungen → Java → Der Speicherort der installierten JRE sollte mit dem angezeigten übereinstimmen
Java_Home
.quelle
Gehen Sie zum Dialogfeld Eigenschaften und klicken Sie mit der rechten Maustaste auf das Projekt.
In verknüpften Ressourcen , fügen Sie einen neuen Pfad JAVA_HOME und setzte in Ihrer JDK Lage, so etwas wie „C: \ Programme \ Java \ jdk1.8.0_73“ genannt.
Das ist alles!!
quelle
Die Lösung für dieses Problem ist sehr einfach ...
Wenn Sie keine Ant- Build-Datei haben , generieren Sie diese. In Eclipse können Sie einfach eine Ant- Datei erstellen .
Klicken Sie auf den Link zum Erstellen der Ant- Build-Datei [ http://www.codejava.net/ides/eclipse/how-to-create-ant-build-file-for-existing-java-project-in-eclipse]. .
Befolgen Sie nun die angegebenen Schritte:
1) Fügen Sie Ihre Ant- Build-Datei in der Ant-Ansicht hinzu, die sich im Ansichtsfenster befindet.
2) Klicken Sie mit der rechten Maustaste auf Ihre Ant- Build-Datei und wählen Sie Ausführen als und die zweite Option in diesem "Ant-Build".
3) Nun öffnet sich ein Dialogfeld mit verschiedenen Optionen und Registerkarten.
4) Wählen Sie die Registerkarte JRE .
5) Sie sehen drei Optionsfelder, bei denen JRE oder JDK als Option ausgewählt sind.
6) Überprüfen Sie sorgfältig, ob für die Optionsfeldoptionen JRE ausgewählt ist, und ändern Sie sie in JDK .
7) Klicken Sie auf Übernehmen.
Das ist es...!!!
quelle