【发布时间】:2013-01-11 11:27:02
【问题描述】:
我使用 Google Web Toolkit 开发了一个小型应用程序,并希望将其部署到 Google App Engine (GAE) 服务器。我默认使用 Eclipse Juno 和 Java 7,但是当我尝试部署到 GAE 时,我意识到它还不支持 Java 7。所以我在项目设置中切换到 Java 6 JRE(将 Build Path/Libraries 设置为“java-6-openjdk-amd64”,Java Compiler/Compiler 合规级别设置为 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 的剩余部分以便 Google 插件能够理解?
这一切都在 Ubuntu 12.10 64 位上运行。
【问题讨论】:
-
您在部署之前“清理”过您的项目吗?项目 -> 清理
-
是的,我做到了。不过没有区别。 :(
-
尝试使用 java 6 JDK 启动 eclipse,如下所述:wiki.eclipse.org/Eclipse.ini#-vm_value:_Linux_Example。使用 JDK 而不是 JRE,因为 GAE 仅适用于 Java JDK(版本 6 或更低版本)。
-
完成了,但没有运气。我在 eclipse.ini 中添加了两行 `-vm /usr/lib/jvm/java-1.6.0-openjdk/bin/java',进行了清理并重新编译了项目,但错误仍然存在。该文件存在并且在 JDK 中。
-
项目 -> 属性 -> 项目构面 -> Java 设置为 1.6?
标签: java eclipse google-app-engine