提问者:小点点

如何在Eclipse for Google App Engine中从Java7切换到Java6?


我已经用GoogleWebToolkit开发了一个小型应用程序,并希望将其部署到GoogleAppEngine(GAE)服务器上。默认情况下,我使用Eclipse Juno和Java 7,但当我尝试部署到GAE时,我意识到它还不支持Java 7。因此,我在项目设置中切换到了Java 6 JRE(将构建路径/库设置为“Java-6-openjdk-amd64”,将Java编译器/编译器合规级别设置为1.6。

然而,当我试图通过Google Eclipse插件部署我的应用程序时,它仍然会抛出相同的RuntimeException:

该应用程序包含Java 7类,但尚未设置- use_java7标志

下面是完整的调试输出:

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)

如何删除Java 7 remainder以便Google插件能够理解?

这一切都是在Ubuntu 12.10 64位上运行的。


共2个答案

匿名用户

您可能正在使用Java 7安装进行编译。在eclipse中,转到Window

右边的列表可能只显示你情况下的jre/jdk7。您必须在此处添加Java 5或6的安装,并确保它是“勾选”的JRE。

之后,使用Project

[编辑:这个答案对于Android开发来说并不准确...当我意识到这一点时,一个 quck 搜索显示问题看起来可疑地接近 无法部署到 Google App Engine 因为 --use_java7 标志尚未设置,答案可能是一样的。

匿名用户

我最终能帮助它的唯一方法是在 Eclipse 中创建一个新项目,立即切换到 Java 6(构建路径、编译器、Java facet),然后复制/粘贴上一个项目中的所有文件和 GAE 设置。