gradle编译自定义注解(annotation)的未解决问题

时间:2023-03-08 17:33:06
gradle编译自定义注解(annotation)的未解决问题

最近把一个用eclipse构建的项目,加上了Gradle脚本,用它来编译。虽然最后编译是显示BUILD SUCCESSFUL,但是在编译过程中,却打印出一大堆栈信息,似乎是在编译我自定义的注解时出现的异常。

打印的栈信息前面部分如下:

:assemble
:lint
Failed converting ECJ parse tree to Lombok for file E:\code\git\androidkit\andro
idkit\src\com\lurencun\cfuture09\androidkit\uibind\annotation\AndroidView.java
java.lang.ClassCastException: lombok.ast.Annotation cannot be cast to lombok.ast
.Expression
        at lombok.ast.ecj.EcjTreeConverter$2.visitAnnotationMethodDeclaration(Ec
jTreeConverter.java:1259)
        at lombok.ast.ecj.EcjTreeVisitor.visitEcjNode(EcjTreeVisitor.java:332)
        at lombok.ast.ecj.EcjTreeConverter.visit(EcjTreeConverter.java:295)
        at lombok.ast.ecj.EcjTreeConverter.toTree(EcjTreeConverter.java:236)
        at lombok.ast.ecj.EcjTreeConverter.fillList(EcjTreeConverter.java:282)
        at lombok.ast.ecj.EcjTreeConverter.fillList(EcjTreeConverter.java:252)
        at lombok.ast.ecj.EcjTreeConverter.access$100(EcjTreeConverter.java:141)

        at lombok.ast.ecj.EcjTreeConverter$2.createNormalTypeBody(EcjTreeConvert
er.java:562)
        at lombok.ast.ecj.EcjTreeConverter$2.visitTypeDeclaration(EcjTreeConvert
er.java:512)
        at lombok.ast.ecj.EcjTreeVisitor.visitEcjNode(EcjTreeVisitor.java:48)
        at lombok.ast.ecj.EcjTreeConverter.visit(EcjTreeConverter.java:295)
        at lombok.ast.ecj.EcjTreeConverter.toTree(EcjTreeConverter.java:236)
        at lombok.ast.ecj.EcjTreeConverter.fillList(EcjTreeConverter.java:282)
        at lombok.ast.ecj.EcjTreeConverter.fillList(EcjTreeConverter.java:252)
        at lombok.ast.ecj.EcjTreeConverter.access$100(EcjTreeConverter.java:141)

        at lombok.ast.ecj.EcjTreeConverter$2.visitCompilationUnitDeclaration(Ecj
TreeConverter.java:440)
        at lombok.ast.ecj.EcjTreeVisitor.visitEcjNode(EcjTreeVisitor.java:264)
        at lombok.ast.ecj.EcjTreeConverter.visit(EcjTreeConverter.java:295)
        at com.android.tools.lint.EcjParser.parseJava(EcjParser.java:98)
        at com.android.tools.lint.client.api.JavaVisitor.visitFile(JavaVisitor.j
ava:197)
        at com.android.tools.lint.client.api.LintDriver.checkJava(LintDriver.jav
a:1593)

目前仍未知是什么原因。我使用的是gradle 1.10的版本,在官方文档中查找annotation这个关键词,未发现相关的内容。