Ich habe mein Java_HOME auf gesetzt
C:\Program Files (x86)\Java\jdk1.6.0_18
Nach der Installation von maven bekomme 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 mir sicher, dass dies der schwierige Teil ist
Stellen Sie sicher, dass Sie JDK 1.4 oder .__ verwenden. über und kein JRE
Wenn ich die Konfiguration auf JRE6 starte, wie kann ich das JDK 1.6 ändern, das ich bereits installiert habe
EDIT
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
Vielleicht habe ich vergessen zu sagen, dass ich Eclipse Maven Plugin verwende.
Sie können versuchen, das JDK Eclipse wie folgt zu aktualisieren:
Fügen Sie die JRE in Window-> Preferences ...-> Java-> Installierte JREs hinzu und legen Sie sie fest:
JRE type: Standard VM JRE
Name: jdk1.6.0_18
JRE home directory: C:\Program Files (x86)\Java\jdk1.6.0_18
Wenn dies nicht der Fall ist, können die Klammern und Leerzeichen im Java_HOME-Pfad Probleme verursachen. Versuchen Sie, Ihr JDK an einen anderen Ort zu kopieren und Ihr Java_HOME zu aktualisieren.
Eclipse.ini benötigt das Argument vm, um auf Ihren jdk-Speicherort zu verweisen.
Bearbeiten Sie die Eclipse.ini
-Datei so, dass sie auf Ihre jdk-Startseite verweist.
-vm
C:\Program Files\Java\jdk1.6.0_06
Dadurch wird sichergestellt, dass Eclipse vom JDK und nicht von einer Standard-JRE auf Ihrem Computer ausgeführt wird.
Sie versuchen:
Gehen Sie zu Preferences/Java/Installed JREs
und fügen Sie einen für den Ort "C:\Program Files\Java\jdk1.6.0_27\jre
oder ähnliches ein.
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 sinnvoll, wenn der erste Teil (bis/..) durch C:\Program Files\Java\jdk1.6.0_27\jre
ersetzt wird.
Wenn Sie Fork auf true setzen, wurde das Problem für mich gelöst.
<configuration>
<fork>true</fork>
<source>1.6</source>
<target>1.6</target>
</configuration>
Vielen Dank, Sam Yang ... Sie haben meinen Tag gemacht
Ich hatte genau das gleiche Problem! Seit Tagen suchen und suchen, weil das ganze Geschwätz über "setze -vm c:\program files\Java\jdkxxxxx\bin" als Argument für einen Shortcurt NICHT in das Ar-Ar-Verzeichnis ein, sondern NICHT AT ALL heklp! (Habe ich frustriert? Glaube mir, das ist eine Untertreibung! Ich bin einfach wütend, weil ich eine Woche verloren habe, als ich versuchte, Maven zuverlässig zu machen!)
Ich hatte sehr unvorhersehbares Verhalten. Manchmal kompiliert, manchmal nicht. Wenn ich ein Maven clean gemacht habe, konnte es den Compiler nicht finden und schlug fehl. Wenn ich dann etwas am Baupfad geändert habe, hat es plötzlich wieder funktioniert !!
Bis ich zu Window -> Preferences -> Java -> JREs ging. Ich habe eine neue JRE unter Verwendung des Speicherorts des JDK hinzugefügt und die JRE dann entfernt. Plötzlich lief Maven stabil!
Vielleicht lohnt es sich, Buchstaben mit der Schriftgröße 30 oder so in das Apache-Handbuch einzufügen? Mit allem Respekt ist dies für die Java-Community einfach unerhört! Ich kann mir nicht vorstellen, wie viele Tage all diese Leute verloren haben, als sie versuchten, ihre Probleme 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-Software zu veröffentlichen ...
Herzliche Grüße oder so .... Nach einer Woche Manipulation kann ich endlich mit der Entwicklung beginnen. Ich hoffe, mein Chef wird das nicht erfahren. Es hat mich viel Mühe gekostet, ihn davon zu überzeugen, NICHT zu .NET zu gehen, und es tut mir schon leid.
Ich habe das gleiche Problem mit Ausführen als -> Maven in Eclipse installiert. Java_HOME und Eclipse.ini waren in Ordnung und verweisen auf mein aktuelles JDK. M2clipse verwendete jedoch JRE. Die Verwendung von mvn install außerhalb von Eclipse hat gut funktioniert! In meinem Fall habe ich das Problem wie folgt gelöst:. Navigieren Sie in Eclipse: Fenster -> Einstellungen -> Java -> Installierte JREs 2. Es gab zwei inaktive Einträge für eine JRE und ein JDK. Das aktive war das zuletzt installierte JDK. Löschen Sie alle Einträge, die ein Maven verwenden soll.
Ich denke, dass Maven nicht berücksichtigt, welcher aktiv ist ...
Ich habe gerade maven 3.0.4 installiert, M2_HOME
, M2
und Java_HOME
entsprechend gesetzt. Ich habe dann die folgenden Befehle ausgeführt:
mvn archetype:generate....
mvn compile
Ich habe eine fehlgeschlagene Nachricht erhalten: maven unable to locate javac compiler
.
Auf meinem Computer habe ich standardmäßig jre install unter c:\program files\Java\jre.1.6 ..__ und ich habe die anderen c:\Java\jdk1.6 und Java_HOME
auf gesetzt dieses c:\Java\jdk1.6 .
Ich sehe nichts falsch an meiner Einstellung. Nach der Suche entschied ich mich, mvn.bat
zu suchen. Ich wiederholte %Java_HOME%
jeden Schritt und es wird korrekt als C:\Java\jdk1.6
angezeigt. Wenn ich jedoch den Befehl ausführen: mvn --version
, wird Java-Startseite angezeigt: c:\Programme\Java\jre1.1.6 .
Schließlich habe ich herausgefunden, dass ich nur -Djava.home=c:\Java\jdk1.6
wie im folgenden Befehl einstellen 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%
Hoffe das hilft.
Hinweis: Dies gilt für mvn
in der Befehlszeile und nicht für Eclipse.
Basis von http://maven.Apache.org/plugins/maven-compiler-plugin/examples/compile-using-different-jdk.html müssen Sie die Abzweigung in Ihrer pom.xml auf true setzen .
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 aus -> Klicken Sie auf die Schaltfläche Bearbeiten
Klicken Sie auf die Schaltfläche "Installierte JREs ..."
Bearbeiten Sie JRE wie folgt: Setzen Sie JRE Home = Java_HOME oder Java_HOME\jre
ScreentShot:
Danke vielmals,
Partha
Es hört sich 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 . Es gibt insgesamt 3, System, Benutzer und Projekt. Am wahrscheinlichsten in der Installationskonfiguration ($ M2_HOME/conf/settings.xml) oder möglicherweise in der Konfiguration pro Benutzer ($ {user.dir} /. M2/settings.xml).
Ich habe das Problem gelöst, indem ich den Ort der installierten JRE in das Verzeichnis im JDK selbst geändert habe. Durch Festlegen des richtigen Werts der Umgebungsvariable Java_HOME
konnte das Problem nicht gelöst werden.
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
als Installierte JRE in Eclipse festgelegt und ich bekam den gleichen Fehler im Fall von Maven (Ant funktionierte einwandfrei).
Durch Ändern der installierten JRE in C:\Program Files\Java\jdk1.7.0_03\jre7
als Installierte JRE in Eclipse wird das Problem behoben.
Die Lösung ist einfach, einige Male die Eclipse-Fenster -> Präferenz -> Java -> Installierte JREs, die auf C:\Program files\Java\jre
verweisen. Wenn ich sie in C:\Program files\Java\JDK 6.0\jre
änderte, funktioniert sie 100%.
Klicken Sie mit der rechten Maustaste auf Projekt -> Eigenschaften -> Java-Erstellungspfad. Wählen Sie den JRE-Systempfad -> Bearbeiten. Wählen Sie die Workspace Default-JRE aus und verweisen Sie auf JDK> 1.4
Window -> Preferences -> Java -> installed JREs -> Execution Enviroments -> click the checkbox on the right side
In meinem Fall in Eclipse Run-> Debug Configurations
.__In der Registerkarte "jre" wurde die jdk anstelle der jre ausgewählt.
Vergessen Sie nicht, dass Sie, wenn Sie Ihr Projekt von einer bestimmten Eclipse-Konfiguration aus ausführen, die Java-Laufzeitumgebung unter "Konfigurationen ausführen" -> "Ihre Maven-Konfiguration" -> "JRE-Registerkarte" ändern sollten, nachdem Sie das richtige JDK hinzugefügt haben Ihre Eclipse-Einstellungen.
Ich hatte das gleiche Problem bei Amazon Linux. Es stellte sich heraus, dass ich die Entwicklungsversion von jdk installieren musste:
Sudo yum -y install Java-1.7.0-openjdk-devel
Gehen Sie zu Eclipse Window-> Preferences ...-> Java-> Installierte JREs sollten auf das installierte JDK zeigen, nicht auf JRE.
Wie bereits erwähnt, sollte der Eclipse Window->Preferences...->Java->Installed JREs
auf das installierteJDKzeigen, nicht auf die JRE. Nur dann kann der in der Fehlermeldung angegebene ../lib
-Ordner gefunden werden.
Trotzdem kann das Problem erneut auftreten. Mein Weg in Eclipse (Juno) besteht darin, einen Maven -> Update project...
auszuführen, wonach das Problem verschwindet.
Ich vermute, der Grund ist, dass sich einige der von Eclipse generierten Dateien (.classpath, .project, .preferences) in Subversion für das Projekt befinden, in dem ich diese Probleme habe. Daher führt ein svn-Update zu dem Problem, und ein Konfigurationsupdate von maven in Eclipse behebt es erneut.
Echte Lösung: Lass Eclipse generierte .files aus der Versionskontrolle aus und lasse das maven Eclipse-Plugin die Projektkonfiguration übernehmen. (zusätzliche Hinweise/Vorschläge willkommen).
Ich habe die Konfiguration des Maven-Compiler-Plugins geändert, um die ausführbare Datei und den Fork mit dem Wert true hinzuzufügen.
<configuration>
<fork>true</fork>
<source>1.6</source>
<target>1.6</target>
<executable>C:\Program Files\Java\jdk1.6.0_18\bin\javac</executable>
</configuration>
Es hat für mich funktioniert.
Gehen Sie zu Eclipse> Voreinstellungen> Java> Installierte JREs> wählen Sie den Speicherort aus, auf den Sie gezeigt haben, und klicken Sie auf Bearbeiten> Externe JARs hinzufügen, und wählen Sie die Datei tools.jar aus
Echo %Java_HOME%
dann mvn --version
JRE
Pfad sollte gleich sein .... dann geh Window -> preferences - Java - installed jre's
Der Ort sollte mit dem übereinstimmen, der in Java_Home
angezeigt wird.
Stellen Sie sicher, dass sich das "-vm" in Ihrer Eclipse.ini in zwei separaten Zeilen befindet, dh:
-vm
C:\Program Files\Java\jdk1.6.0_06
Hatte das gleiche Problem. Keines der oben genannten Dinge funktionierte für mich:
Java_HOME von ...\jdk.1.8.0\in ...\jdk.1.8.0\jre\geändert
Wenn Sie Java_HOME gesetzt haben 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 Problemen leiden. Die Hoffnung hilft.
Viele andere Antworten sagen Ihnen, dass Sie Ihre Eclipse auf ein JDK statt auf eine JRE richten sollen.
Hier ist eine weitere Antwort mit spezifischer/klarer [als ich in jeder Antwort hier gesehen habe], Schritt für Schritt, wie man das macht:Wie installiert man JDK?
Das hat mich für dieses Problem gelöst.
Gehen Sie zu den Eigenschaften, indem Sie mit der rechten Maustaste auf das Projekt klicken.
Fügen Sie in VERKNÜPFTE RESSOURCEN einen neuen Pfad mit dem Namen Java_HOME hinzu und geben Sie Ihren jdk-Speicherort an, etwa "C:\Programme\Java\jdk1.8.0_73"
Das ist alles!!
Ich hatte den gleichen Fehler, wegen der JUNIT-Version hatte ich 3. 3.8.1 und ich habe zu 4.8.1 gewechselt.
so ist die lösung
sie müssen zu POM gehen und sicherstellen, dass Ihre Abhängigkeit so aussieht
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
Die Lösung dieses Problems ist sehr einfach ....
Wenn Sie keine ANT build-Datei haben, generieren Sie sie. In Eclipse können Sie auf einfache Weise eine ANT -Datei erstellen.
Siehe den Link zum Erstellen von ANT Build-Datei [ http://www.codejava.net/ides/Eclipse/how-to-create-ant-build-file-for-existing-Java- Projekt in Eclipse] .
Folgen Sie nun den vorgegebenen Schritten:
1) Fügen Sie Ihre ANT - Builddatei in der ANT-Ansicht hinzu, die sich im Ansichtsfenster befindet.
2) Klicken Sie mit der rechten Maustaste auf Ihre ANT - Builddatei und wählen Sie Run As 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 3 Optionsfelder, und JRE oder JDK werden als Option ausgewählt.
6) Prüfen Sie sorgfältig, ob für die Optionsschaltflächen JRE ausgewählt ist, und ändern Sie sie in JDK.
7) Klicken Sie auf Übernehmen.
Das ist es...!!!
Sie müssen Java_HOME
in mvn.ini
angeben (es befindet sich im Mavenordner /bin
), und Ihr Problem wird verschwinden.
Sie können auch sicherstellen, dass Eclipse alle aktualisierten Änderungen enthält. Klicken Sie dazu mit der rechten Maustaste auf Ihr Projekt und drücken Sie dann den Menüpunkt "Aktualisieren".
Ich würde vermuten, dass der Ort des Compilers in einem Pom definiert ist, damit das Compiler-Plugin am jre-Speicherort angezeigt wird, anstelle des jdk-Speicherorts, auf den Java_HOME zeigt.