生成 Google App Engine 后端时,注解仅适用于 java 1.5 及更高版本(JDK 1.8,安装了新的 ADT)

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/23675452/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-14 00:37:19  来源:igfitidea点击:

Annotation are only available for java 1.5 and greater when generating Google App Engine Backend(JDK 1.8, new ADT installed)

javaandroideclipsegoogle-app-engine

提问by Yoda

I installed fresh ADT: http://developer.android.com/sdk/index.html?hl=skThen I installed:

我安装了新的 ADT:http: //developer.android.com/sdk/index.html?hl= sk然后我安装了:

enter image description here

在此处输入图片说明

When I got into the Eclipse readme directory there is:

当我进入 Eclipse 自述目录时,有:

Eclipse Project Release Notes

Release 4.3.0 Last revised May 29th, 2013

Eclipse 项目发行说明

版本 4.3.0 最后修订日期 2013 年 5 月 29 日

I created fresh Android application then right clicked on it->Google->Generate Google App Engine Backend and this is what I got:

我创建了新的 Android 应用程序,然后右键单击它->Google->Generate Google App Engine Backend,这就是我得到的:

Description Resource    Path    Location    Type
The import android.os.Build is never used   MainActivity.java   /A/src/com/uniquebullshit/a line 12 Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  MessageData.java    /A-AppEngine/src/com/uniquebullshit/a   line 22 Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  DeviceInfoEndpoint.java /A-AppEngine/src/com/uniquebullshit/a   line 21 Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  MessageData.java    /A-AppEngine/src/com/uniquebullshit/a   line 28 Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  DeviceInfoEndpoint.java /A-AppEngine/src/com/uniquebullshit/a   line 21 Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  MessageData.java    /A-AppEngine/src/com/uniquebullshit/a   line 29 Java Problem
The import android.support.v7.app.ActionBar is never used   MainActivity.java   /A/src/com/uniquebullshit/a line 4  Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  DeviceInfo.java /A-AppEngine/src/com/uniquebullshit/a   line 25 Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  DeviceInfo.java /A-AppEngine/src/com/uniquebullshit/a   line 33 Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  MessageEndpoint.java    /A-AppEngine/src/com/uniquebullshit/a   line 46 Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  MessageEndpoint.java    /A-AppEngine/src/com/uniquebullshit/a   line 46 Java Problem
Syntax error, parameterized types are only available if source level is 1.5 or greater  MessageEndpoint.java    /A-AppEngine/src/com/uniquebullshit/a   line 98 Java Problem
The method setMaxResults(int) in the type Query is not applicable for the arguments (Integer)   MessageEndpoint.java    /A-AppEngine/src/com/uniquebullshit/a   line 95 Java Problem
Syntax error, parameterized types are only available if source level is 1.5 or greater  MessageEndpoint.java    /A-AppEngine/src/com/uniquebullshit/a   line 112    Java Problem
Syntax error, 'for each' statements are only available if source level is 1.5 or greater    MessageEndpoint.java    /A-AppEngine/src/com/uniquebullshit/a   line 105    Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  MessageEndpoint.java    /A-AppEngine/src/com/uniquebullshit/a   line 127    Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  MessageEndpoint.java    /A-AppEngine/src/com/uniquebullshit/a   line 126    Java Problem
The method listDeviceInfo(String, Integer) in the type DeviceInfoEndpoint is not applicable for the arguments (null, int)   MessageEndpoint.java    /A-AppEngine/src/com/uniquebullshit/a   line 142    Java Problem
Syntax error, parameterized types are only available if source level is 1.5 or greater  MessageEndpoint.java    /A-AppEngine/src/com/uniquebullshit/a   line 142    Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  MessageEndpoint.java    /A-AppEngine/src/com/uniquebullshit/a   line 74 Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  MessageEndpoint.java    /A-AppEngine/src/com/uniquebullshit/a   line 73 Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  MessageEndpoint.java    /A-AppEngine/src/com/uniquebullshit/a   line 76 Java Problem
Syntax error, parameterized types are only available if source level is 1.5 or greater  MessageEndpoint.java    /A-AppEngine/src/com/uniquebullshit/a   line 75 Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  MessageEndpoint.java    /A-AppEngine/src/com/uniquebullshit/a   line 77 Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  MessageEndpoint.java    /A-AppEngine/src/com/uniquebullshit/a   line 76 Java Problem
Syntax error, parameterized types are only available if source level is 1.5 or greater  MessageEndpoint.java    /A-AppEngine/src/com/uniquebullshit/a   line 81 Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  MessageEndpoint.java    /A-AppEngine/src/com/uniquebullshit/a   line 77 Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  DeviceInfoEndpoint.java /A-AppEngine/src/com/uniquebullshit/a   line 140    Java Problem
Type mismatch: cannot convert from Object to DeviceInfo DeviceInfoEndpoint.java /A-AppEngine/src/com/uniquebullshit/a   line 143    Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  DeviceInfoEndpoint.java /A-AppEngine/src/com/uniquebullshit/a   line 119    Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  DeviceInfoEndpoint.java /A-AppEngine/src/com/uniquebullshit/a   line 139    Java Problem
Type mismatch: cannot convert from Object to DeviceInfo DeviceInfoEndpoint.java /A-AppEngine/src/com/uniquebullshit/a   line 154    Java Problem
There was a problem generating the API metadata for your Cloud Endpoints classes: com.google.api.server.spi.config.ApiConfigException: class com.uniquebullshit.a.MessageEndpoint has no @Api annotation.   A-AppEngine     Unknown Google App Engine Cloud Endpoints Problem Marker
Type mismatch: cannot convert from element type Object to DeviceInfo    MessageEndpoint.java    /A-AppEngine/src/com/uniquebullshit/a   line 144    Java Problem
Syntax error, 'for each' statements are only available if source level is 1.5 or greater    MessageEndpoint.java    /A-AppEngine/src/com/uniquebullshit/a   line 144    Java Problem
Syntax error, parameterized types are only available if source level is 1.5 or greater  DeviceInfoEndpoint.java /A-AppEngine/src/com/uniquebullshit/a   line 33 Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  DeviceInfoEndpoint.java /A-AppEngine/src/com/uniquebullshit/a   line 34 Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  DeviceInfoEndpoint.java /A-AppEngine/src/com/uniquebullshit/a   line 31 Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  DeviceInfoEndpoint.java /A-AppEngine/src/com/uniquebullshit/a   line 32 Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  DeviceInfoEndpoint.java /A-AppEngine/src/com/uniquebullshit/a   line 35 Java Problem
Syntax error, parameterized types are only available if source level is 1.5 or greater  DeviceInfoEndpoint.java /A-AppEngine/src/com/uniquebullshit/a   line 39 Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  DeviceInfoEndpoint.java /A-AppEngine/src/com/uniquebullshit/a   line 34 Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  DeviceInfoEndpoint.java /A-AppEngine/src/com/uniquebullshit/a   line 35 Java Problem
Syntax error, 'for each' statements are only available if source level is 1.5 or greater    DeviceInfoEndpoint.java /A-AppEngine/src/com/uniquebullshit/a   line 60 Java Problem
Syntax error, parameterized types are only available if source level is 1.5 or greater  DeviceInfoEndpoint.java /A-AppEngine/src/com/uniquebullshit/a   line 65 Java Problem
The method setMaxResults(int) in the type Query is not applicable for the arguments (Integer)   DeviceInfoEndpoint.java /A-AppEngine/src/com/uniquebullshit/a   line 51 Java Problem
Syntax error, parameterized types are only available if source level is 1.5 or greater  DeviceInfoEndpoint.java /A-AppEngine/src/com/uniquebullshit/a   line 54 Java Problem
Type mismatch: cannot convert from Object to DeviceInfo DeviceInfoEndpoint.java /A-AppEngine/src/com/uniquebullshit/a   line 82 Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  DeviceInfoEndpoint.java /A-AppEngine/src/com/uniquebullshit/a   line 97 Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  DeviceInfoEndpoint.java /A-AppEngine/src/com/uniquebullshit/a   line 77 Java Problem
Syntax error, annotations are only available if source level is 1.5 or greater  DeviceInfoEndpoint.java /A-AppEngine/src/com/uniquebullshit/a   line 78 Java Problem

How to deal with that?EDIT:

怎么处理?编辑:

enter image description here

在此处输入图片说明

回答by Stultuske

make sure the source level is 1.5 or above. it seems you are using an older version of the JDK.

确保源级别为 1.5 或更高。看来您使用的是旧版本的 JDK。

回答by Kiran

I tried below and it helped.

我在下面尝试过,它有帮助。

  1. Tick the checkbox named Use default compliance settingsas in highlighted section (blue color) of image below.
  2. If that didn't help, try changing the Compiler compliance levelto different level, press apply and then back again.
  1. 勾选下图Use default compliance settings突出显示部分(蓝色)中命名的复选框。
  2. 如果那没有帮助,请尝试将其更改Compiler compliance level为不同的级别,按应用然后再返回。

enter image description here

在此处输入图片说明

回答by Shrivatsa

For me Enable Project Specific Settingscheck box was not selected. I selected it and clean the project through Projectmenu.

对我而言,未选中启用项目特定设置复选框。我选择了它并通过项目菜单清理项目。

回答by yann-h

The answer mentioned by Stultuske in [eclipse magic: ... Syntax error, varargs are only available if source level is 1.5 or greatersolved it.

Stultuske 在 [ eclipse magic: ... Syntax error, varargs are only available if source level is 1.5 orlater 中提到的答案解决了它。

Under Mac OS X

在 Mac OS X 下

  • Install the Java 6 JDK
  • Goto Eclipse > Preferences
  • Select Add... from Java > Installed JREs then Standard VM and select the '/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home' directory as the JRE home, then Finish, Ok
  • 安装 Java 6 JDK
  • 转到 Eclipse > 首选项
  • 选择 Add... from Java > Installed JREs 然后 Standard VM 并选择 '/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home' 目录作为 JRE home,然后 Finish,Ok

回答by NS du Toit

Had a similar problem.

有类似的问题。

I checked the Java JDK version under "Java Build Path".

我在“Java Build Path”下检查了 Java JDK 版本。

I checked the compliance levels under "Java Compiler".

我检查了“Java Compiler”下的合规性级别。

I looked at Project Facets and saw that Java wasn't checked. Checking it resolved the problem (once the project rebuilt).

我查看了 Project Facets,发现没有检查 Java。检查它解决了问题(一旦项目重建)。

enter image description here

在此处输入图片说明