【问题标题】:When deploying GAE I get "IllegalArgumentException: Class file is Java 8 but max supported is Java 7", but I'm using Java 7 everywhere部署 GAE 时,我得到“IllegalArgumentException:类文件是 Java 8,但最大支持是 Java 7”,但我到处都在使用 Java 7
【发布时间】:2016-07-19 09:20:58
【问题描述】:

我正在尝试在 Eclipse Luna 4.4 的帮助下部署 Google App Engine 项目,但每当我转到“部署到 App Engine”时,我都会收到以下错误消息:

------------ 部署前端------------

准备部署:在以下位置创建暂存目录: 'C:\Users\ [[用户名]]~1\AppData\Local\Temp\appcfg6715651699721496450.tmp' java.lang.IllegalArgumentException:类文件是 Java 8 但最大 支持 Java 7:C:\Users\ [[USERNAME]]\ ..HEALTH APP\Api\war\WEB-INF\classes\com\example\mycompany\myapplication\api\buses\BusEventSingleton.class

调试信息可以在 C:\Users\ [[USERNAME]]\AppData\Local\Temp\appengine-deploy4610763336673097422.log 中找到

但是在项目右键->属性我可以看到Java编译器级别是1.7:

以及 Project Facets 如何将 Java 版本确定为 1.7:

所以有人知道我为什么会收到这条消息吗? Java 8 正在编译什么以及如何更改它?

【问题讨论】:

  • 在您的第一个屏幕截图的底部有一条警告,您需要安装并激活 1.7“兼容”JRE(当前为 1.8)。也许秘密就在那里?

标签: java eclipse google-app-engine


【解决方案1】:

更改 JDK 合规性为我解决了这个问题。
您可以通过转到 Java 编译器页面来更改编译器合规级别,如下所示。

  1. 在 Project Explorer 视图中,右键单击项目,然后 选择属性。
  2. 在属性中选择 Java 编译器页面 窗口。
  3. 在 JDK 合规性部分,选择所需的编译器 合规水平。 (JDK 7)
  4. 单击应用,然后单击确定。 见this

【讨论】:

  • 问题是 JDK 合规级别已经是 1.7,正如我发布的第一个链接的图像所示。
【解决方案2】:

你也可以试试这个

在 Project Explorer 视图中,右键单击项目,然后选择 Properties。 在“属性”窗口中选择 Java 构建路径页面。 转到库选项卡,单击 JRE 系统库。 如果 JRE 是(JRE 8 或 JRE 1.8),那么编辑选择执行环境是 1.7。

按完成。

记得在 Java 构建路径页面中按应用。然后OK。

尝试干净的构建

【讨论】:

    猜你喜欢
    • 2017-03-21
    • 2017-01-10
    • 1970-01-01
    • 2017-08-14
    • 1970-01-01
    • 1970-01-01
    • 2016-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多