it-swarm.com.de

Der System Java Compiler kann nicht abgerufen werden. Bitte verwenden Sie ein JDK, kein JRE

Ich bekomme Der System Java Compiler kann nicht abgerufen werden. Bitte verwenden Sie ein JDK, kein JRE. Wenn sich die JSP-Datei in meinem Projekt befindet und ich sie für Google App Engine bereitstelle. Also habe ich folgendes versucht, um das Problem zu beheben:

  1. Fügen Sie der Eclipse.ini -vm C:\Programme\Java\jdk1.6.0_43\bin\javaw.exe hinzu.
  2. Stellen Sie sicher, dass sich das JDK im Erstellungspfad meines Projekts befindet und nicht im Verzeichnis JRE.
  3. Fügen Sie das C:\Programme\Java\jdk1.6.0_43\bin\zum PATH für Umgebungsvariable hinzu.

Aber nichts davon löste das Problem. Wie kann ich das lösen? 

32
user2054833

Achten Sie beim Hinzufügen von -vm C:\Program Files\Java\jdk1.6.0_43\bin\javaw.exe zu Eclipse.ini darauf, dass -vm und C:\Program Files\Java\jdk1.6.0_43\bin\javaw.exe in separaten Zeilen stehen 

35
user2403826

Folgende 2 Dinge funktionierten für mich.

1) Stellen Sie sicher, dass Ihr Java_HOME-Pfad auf JDK eingestellt ist und Java_HOME in PATH enthalten ist.

2) Fügen Sie die ersten beiden Zeilen des folgenden Codes in Eclipse.ini hinzu. Es sollte wie folgt aussehen.

-vm
C:\Program Files\Java\jdk1.7.0_03\bin\javaw.exe
-startup
plugins/org.Eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.Eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20130807-1835-product
org.Eclipse.epp.package.standard.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.Eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx512m
30
Harshit

Könnten Sie Ihre Eclipse.ini-Datei hier einfügen? Ich habe vor ein paar Tagen die Zeile vm hinzugefügt, und es hat gut funktioniert.

Denken Sie daran, es muss vor der -vmargs-Zeile gesetzt werden ...

15
Lord Khizir

Ich hatte das gleiche Problem und kam zu einem Ergebnis:

Wenn Eclipse mit JRE ausgeführt wird, wird bei der Bereitstellung für App Engine JRE anstelle von JDK verwendet, auch wenn für die Einstellung "Einstellung" die Verwendung von JDK festgelegt ist. 

Lösung: Ändern Sie den Java_HOME-Pfad in JDK von JRE und stellen Sie sicher, dass Java_HOME\bin in PATH enthalten ist. Starten Sie dann Eclipse erneut.

5
seongjoo

Ich löse dieses Problem, indem Sie die Datei appcfg.cmd im SDK-Ordner von Google App Engine bearbeiten.

Die Datei appcfg.cmd befindet sich unter 

{Eclipse-Verzeichnis}\plugins\com.google.appengine.Eclipse.sdkbundle_1.8.8\appengine-Java-sdk-1.8.8\bin

Ändern Sie den Befehl Java string im Befehl an den spezifischen Speicherort von Java.exe im Ordner jdk:

Original:

Java -Xmx1100m -cp "% ~ dp0 ..\lib\appengine-tools-api.jar" com.google.appengine.tools.admin.AppCfg% *

Nach dem Wechsel:

"C:\Programme\Java\jdk1.7.0_45\bin\Java.exe" -Xmx1100m -cp "% ~ dp0 ..\lib\appengine-tools-api.jar" com.google.appengine.tools.admin .AppCfg% *

3
IntoCode

Beim Hochladen des Beispiel-War-Gästebuchs ist der gleiche Fehler aufgetreten ["Der Java-Compiler kann nicht abgerufen werden"]. Ich hatte JDK installiert und "Java-Version" konnte die Versionsinformationen korrekt drucken. Welcher Teil ist also schiefgegangen?
Die Ursache des Problems liegt hier: 

Neben dem Verzeichnis% Java_HOME%/bin gibt es auch Java.exe/javaw.exe im Unterverzeichnis C:\Windows \.

Der Upload-Befehl hat die Java.exe im Unterverzeichnis c:\windows\verwendet und nicht im Verzeichnis% Java_HOME%.
Lösung:
Setzen Sie "% Java_HOME%/bin" an die Spitze der PATH-Umgebungsvariablendefinition. Dies sollte garantieren, dass der% Java_HOME% -Stick verwendet wird.

3
user3016498
  1. Bearbeiten Sie Eclipse ini und fügen Sie .__ hinzu.-vm C:\Programme\Java\jdk1.7.0_65\bin\javaw.exe Wie folgt (zwischen diesen Zeilen):

    --launcher.defaultAction Datei öffnen -vm C:\Programme\Java\jdk1.7.0_65\bin\javaw.exe --launcher.appendVmargs

  2. Richten Sie Ihr Java_HOME so ein, dass es auf den Ordner jdk verweist (C:\Programme\Java\jdk1.7.0_65)

Es hat perfekt für mich funktioniert.

2
jsaf

Der letzte Ausweg: Eine einfache, aber nicht sehr elegante Lösung ist alle JREs deinstallieren.

1
rwitzel

Ich habe diesen Fehler beim Erstellen des Projekts in Android Studio erhalten. Ich habe den JDK-Speicherort in den Einstellungen festgelegt (Datei ==> Einstellungen) und das Problem wurde für mich behoben.

0

Gehen Sie zu Windows -> Preferences -> Java -> Installed JREs -> Add... und legen Sie den Pfad zu Ihrem JDK-Ordner als JRE home fest. Die restlichen Felder werden automatisch ausgefüllt. Stellen Sie dann in der Liste Installed JREs sicher, dass das neu hinzugefügte JDK als Standard markiert ist.

0
gcvt

Seltsamerweise wurde ich plötzlich ohne Änderungen mit diesem Problem konfrontiert (abgesehen von einem Upgrade von Windows 8 auf Windows 8.1).

Ich konnte es lösen, indem -vm vor -vmargs in die Eclipse.ini-Datei eingefügt wurde.

0
Slaine

Ich habe alle vorgeschlagenen Spots aktualisiert, um auf jdk1.8.0_111 statt jre zu verweisen: Eclipse.ini, Systempfad, Java_HOME. Der Oracle-Eintrag wurde ebenfalls aus meinem Pfad entfernt: C:\ProgramData\Oracle\Java\javapath (der auf den jre zeigte). Am Ende fand ich eine weitere Stelle, die auf den Jre verwies, was ihn schließlich reparierte:

In Eclipse -> mein Projekt Eigenschaften -> Java-Erstellungspfad -> JRE-Systembibliothek wurde noch auf meine JRE-Datei verwiesen. Entfernte es, tat "Add Library" und richtete es auf meine jdk. Restarted Eclipse und ich konnte endlich mit einem JSP bereitstellen.

Ich ging zurück und entfernte Java_HOME, und es funktioniert immer noch (Java_HOME stört andere Build-Systeme).

Ich freue mich darauf, einen guten Befehlszeilen-Build herauszufinden, so dass ich keine zufälligen Compiler verwenden kann.

0
Eric McNeill

Stellen Sie sicher, dass Ihre Java_HOME-Umgebungsvariable auf das JDK-Home-Verzeichnis verweist, nicht auf JRE.

0
gluckonavt

Ich habe alles getan, was alle anderen sagten und nichts hat funktioniert. Ich musste den Projekttyp ändern: Projekt -> Eigenschaften -> Projektfacetten und Dynamic Web Module überprüfen. Danach konnte ich das Projekt einsetzen.

0
Israel Toledo