生成Google App Engine后端(JDK 1.8,安装了新的ADT),只有在Java 1.5及以上版本中才能使用注释。

7

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

然后我安装了以下组件:

enter image description here

当我进入Eclipse自述文件目录时,发现有:

Eclipse项目发布说明

版本4.3.0,上次修订于2013年5月29日

我创建了一个新的Android应用程序,然后右键单击->Google->生成Google App Engine后端,结果如下:

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

如何处理这个问题?
编辑: enter image description here
5个回答

13

我试过以下方法,它有所帮助。

  1. 勾选下图中标记为蓝色高亮区域的复选框 Use default compliance settings
  2. 如果这样还不行,请尝试更改 Compiler compliance level 到不同的级别,然后按应用再返回。

输入图像描述


3

对我来说,启用项目特定设置复选框未被选中。我选择了它,并通过项目菜单清除了该项目。


2

1

我遇到了类似的问题。

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

我在“Java Compiler”下检查了兼容性级别。

我查看了项目属性,并发现Java没有被勾选。勾选后,问题得到了解决(一旦项目重新构建)。

enter image description here


0
请确保源代码级别为1.5或更高版本。看起来您正在使用较旧的JDK版本。

1
我有最新的JDK 1.8。 - Yoda
应该可以在这个线程中工作: https://dev59.com/rXI-5IYBdhLWcg3wqqXh 看起来有时候,你需要使用JDK 6来构建(至少很奇怪)以避免高版本的问题。 我自己还没有遇到过这个问题,所以这里不是基于个人经验在说话。 - Stultuske
什么也没做,改了; / - Yoda
2
将项目设置中的“编译器兼容性级别”设置为1.5或更高版本。链接:https://dev59.com/rXI-5IYBdhLWcg3wqqXh#1736779 - ToolmakerSteve

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接