我使用Eclipse Mars(M1)作为我的IDE。今天,我使用Apache Thrift 0.9.2(最新稳定版)为Android项目生成了我的服务Java代码。此版本(unlke版本0.9.1)使用" Generated"来自javax.annotation包的注释,用于添加一些可提取的文档。它在每个生成的类之前添加一行,如下一行:
@Generated(值="由Thrift编译器自动生成(0.9.2)",date =" 2014-11-30")
但令人惊讶的是,Eclipse抱怨javax.annotation包。它会抛出错误"导入的javax.annotation无法解析"。我项目的Java编译器合规性级别为1.6,其最低Android API版本为API 8(Android 2.2)。我该如何解决这个错误?
答案 0 :(得分:4)
不幸的是 javax。*下的大多数软件包都不包含在Android的JDK 中,因此您需要手动添加所需的软件包。 Here解释了不包括这些包的原因。
不幸的是,有几个版本的javax.annotation包可供下载,其中一些不包含" Generated"注释类(javax.annotation.generated)。幸运的是,this jar文件确实包含了特定的注释类。因此,如果您不使用任何构建系统(如Gradle,Ant或Maven),您只需将.jar文件包含在项目的目录中(例如lib /),然后将此jar库添加到你的构建路径。如果您使用Ant,请按照第一个链接。
答案 1 :(得分:0)
我遇到了同样的问题,并通过将这种依赖性添加到build.gradle文件中来解决了该问题
compile group: 'javax.annotation', name: 'javax.annotation-api', version: '1.3.2'