GAE部署Java8 / Java7错误

我试图通过Intellij IDEA向GAE部署一个基本空的项目。 我创建了一个新项目,在appengine-web.xml中设置我的项目ID,并保留其他所有内容。 我得到以下错误, 这里有完整的日志。

java.lang.IllegalArgumentException: Class file is Java 8 but max supported is Java 7: org/eclipse/jetty/apache/jsp/JettyJasperInitializer$1.class in C:\Users\Tony\.m2\repository\com\google\appengine\appengine-java-sdk\1.9.48\appengine-java-sdk\appengine-java-sdk-1.9.48\jetty93\jetty-distribution\lib\apache-jsp\org.eclipse.jetty.apache-jsp-9.3.14.v20161028-nolog.jar 

我已经尝试安装JDK 7,设置一切使用它,在1.7和1.8中使用JDK 8编译,似乎没什么用。

 I have tried installing JDK 7, setting everything to use that 

maven仍在使用java 8

我也跑了同样的错误并通过将Google Appengine SDK从1.9.48降级到1.9.46来解决它。

因此,Intellij IDEA 2016.3.2运行Java 8(设置环境变量IDEA_JDK_64 = jdk1.8.0_xx ),Project Java SDK设置为1.7,Google Cloud SDK通过环境变量设置为GOOGLE_CLOUD_HOME = google-cloud-sdk-138.0.0- windows-x86_64

我现在能够部署到Google Cloud而不是“……类文件是Java 8但最大支持的是Java 7:org / eclipse / jetty / apache / jsp / JettyJasperInitializer $ 1.class ……”

需要指定应该用于执行GAE应用程序的java版本。

这可以通过修改GAE项目中的appengine-web.xml文件来完成。 检查以下示例中的标记:

   your-app 1 true java8