Wie wechseln Sie von Java 7 auf Java 6 in Eclipse für die Google App Engine?
Entwickelt ich eine kleine Applikation mit dem Google Web Toolkit und würde gerne bereitstellen, um die Google App Engine (GAE) server. Ich bin mit Eclipse Juno und Java 7 standardmäßig, aber wenn ich versuchte, Sie zu implementieren GAE, merkte ich, dass es keine Unterstützung für Java 7 noch nicht. Also wechselte ich zu einer Java 6 JRE in das Projekt setzen (set Build Path/Libraries zu "java-6-openjdk-amd64" und Java-Compiler/Compiler compliance level auf 1.6.
Jedoch, wenn ich versuche, für die Bereitstellung der app über den Google-Eclipse-plugin, es immer noch wirft den gleichen RuntimeException:
"Die Anwendung enthält Java-7-Klassen, aber die --use_java7 Flagge hat
nicht festgelegt wurde."
Hier das komplette debugging-Ausgabe:
Unable to update:
java.lang.RuntimeException: The application contains Java 7 classes, but the --use_java7 flag has not been set.
at com.google.appengine.tools.admin.Application.createStagingDirectory(Application.java:576)
at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:370)
at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:53)
at com.google.appengine.eclipse.core.proxy.AppEngineBridgeImpl.deploy(AppEngineBridgeImpl.java:433)
at com.google.appengine.eclipse.core.deploy.DeployProjectJob.runInWorkspace(DeployProjectJob.java:148)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
Wie kann ich entfernen Sie die Java-7-Reste, so dass das Google-plugin versteht?
Ist dies alles läuft auf Ubuntu 12.10 64-bit.
- Haben Sie "Gereinigt" Ihr Projekt vor dem bereitstellen? Projekt -> Sauber
- Ja, habe ich. Kein Unterschied. 🙁
- Versuchen Sie, starten Sie eclipse mit einer java 6 - JDK wie hier beschrieben: wiki.eclipse.org/Eclipse.ini#-vm_value:_Linux_Example . Verwenden Sie das JDK statt dem JRE, denn das SPIEL funktioniert nur mit einem Java-JDK (Version 6 oder darunter).
- Getan, ohne Erfolg allerdings. Ich fügte hinzu, die zwei Linien "- vm /usr/lib/jvm/java-1.6.0-openjdk/bin/java' zu eclipse.ini, habe eine Saubere und re-kompiliert das Projekt, immer noch der Fehler bleibt. Die Datei ist vorhanden und ist in einem JDK.
- Projekt -> Eigenschaften -> Projekt-Facetten -> Java ist eingestellt auf 1,6?
- Ja, es ist, mit Java 6 JRE runtime geprüft.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie wahrscheinlich mit Ihrem Java-7-installation zu kompilieren. In eclipse gehen Sie zu Fenster - > Einstellungen. Dort, navigieren Sie zu Java - > Installierte JREs.
In der Liste auf der rechten Seite ist wahrscheinlich nur zeigt die jre/jdk7 in Ihrem Fall. Sie haben, um Ihre installation von Java 5 oder 6 hier, und stellen Sie sicher, dass es die "angekreuzt" JRE.
Danach, verwenden Sie Projekt > Sauber..., wählen Sie "Clean All Projects" und stellen Sie sicher, dass "Start eines build-sofort" angekreuzt ist, zusammen mit "bauen, die den kompletten workspace".
[Edit : diese Antwort ist nicht korrekt für die android-Entwicklung... Als ich erkannte, dass, Sie ein quck-Suche zeigte, dass die Frage sieht verdächtig nahe Fehler beim bereitstellen zu Google App Engine, weil --use_java7-flag nicht gesetzt wurde , die Antwort ist wohl die gleiche.]
Nur so konnte ich endlich Hilfe war es zu schaffen, ein neues Projekt in Eclipse, wechseln Sie zur Java 6 sofort (Build-Pfad, Compiler, Java-Facette), und kopieren/einfügen alle Dateien und GAE Einstellungen aus dem vorherigen Projekt.