生成 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
Annotation are only available for java 1.5 and greater when generating Google App Engine Backend(JDK 1.8, new ADT installed)
提问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然后我安装了:
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:
怎么处理?编辑:
回答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.
我在下面尝试过,它有帮助。
- Tick the checkbox named
Use default compliance settings
as in highlighted section (blue color) of image below. - If that didn't help, try changing the
Compiler compliance level
to different level, press apply and then back again.
- 勾选下图
Use default compliance settings
突出显示部分(蓝色)中命名的复选框。 - 如果那没有帮助,请尝试将其更改
Compiler compliance level
为不同的级别,按应用然后再返回。
回答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。检查它解决了问题(一旦项目重建)。