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

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

  1. :assemble
  2. :lint
  3. Failed converting ECJ parse tree to Lombok for file E:\code\git\androidkit\andro
  4. idkit\src\com\lurencun\cfuture09\androidkit\uibind\annotation\AndroidView.java
  5. java.lang.ClassCastException: lombok.ast.Annotation cannot be cast to lombok.ast
  6. .Expression
  7. at lombok.ast.ecj.EcjTreeConverter$2.visitAnnotationMethodDeclaration(Ec
  8. jTreeConverter.java:1259)
  9. at lombok.ast.ecj.EcjTreeVisitor.visitEcjNode(EcjTreeVisitor.java:332)
  10. at lombok.ast.ecj.EcjTreeConverter.visit(EcjTreeConverter.java:295)
  11. at lombok.ast.ecj.EcjTreeConverter.toTree(EcjTreeConverter.java:236)
  12. at lombok.ast.ecj.EcjTreeConverter.fillList(EcjTreeConverter.java:282)
  13. at lombok.ast.ecj.EcjTreeConverter.fillList(EcjTreeConverter.java:252)
  14. at lombok.ast.ecj.EcjTreeConverter.access$100(EcjTreeConverter.java:141)
  15.  
  16. at lombok.ast.ecj.EcjTreeConverter$2.createNormalTypeBody(EcjTreeConvert
  17. er.java:562)
  18. at lombok.ast.ecj.EcjTreeConverter$2.visitTypeDeclaration(EcjTreeConvert
  19. er.java:512)
  20. at lombok.ast.ecj.EcjTreeVisitor.visitEcjNode(EcjTreeVisitor.java:48)
  21. at lombok.ast.ecj.EcjTreeConverter.visit(EcjTreeConverter.java:295)
  22. at lombok.ast.ecj.EcjTreeConverter.toTree(EcjTreeConverter.java:236)
  23. at lombok.ast.ecj.EcjTreeConverter.fillList(EcjTreeConverter.java:282)
  24. at lombok.ast.ecj.EcjTreeConverter.fillList(EcjTreeConverter.java:252)
  25. at lombok.ast.ecj.EcjTreeConverter.access$100(EcjTreeConverter.java:141)
  26.  
  27. at lombok.ast.ecj.EcjTreeConverter$2.visitCompilationUnitDeclaration(Ecj
  28. TreeConverter.java:440)
  29. at lombok.ast.ecj.EcjTreeVisitor.visitEcjNode(EcjTreeVisitor.java:264)
  30. at lombok.ast.ecj.EcjTreeConverter.visit(EcjTreeConverter.java:295)
  31. at com.android.tools.lint.EcjParser.parseJava(EcjParser.java:98)
  32. at com.android.tools.lint.client.api.JavaVisitor.visitFile(JavaVisitor.j
  33. ava:197)
  34. at com.android.tools.lint.client.api.LintDriver.checkJava(LintDriver.jav
  35. a:1593)

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

gradle编译自定义注解(annotation)的未解决问题的更多相关文章

  1. Android 自定义注解(Annotation)

    现在市面上很多框架都有使用到注解,比如butterknife库.EventBus库.Retrofit库等等.也是一直好奇他们都是怎么做到的,注解的工作原理是啥.咱们能不能自己去实现一个简单的注解呢. ...

  2. JAVA自定义注解 ------ Annotation

    日常开发工作中,合理的使用注解,可以简化代码编写以及使代码结构更加简单,下面记录下,JAVA自定义注解的开发过程. 定义注解声明类. 编写注解处理器(主要起作用部分). 使用注解. 相关知识点介绍, ...

  3. 一小时搞明白自定义注解(Annotation)

    原文链接:http://blog.csdn.net/u013045971/article/details/53433874 什么是注解 Annotation(注解)就是Java提供了一种元程序中的元素 ...

  4. Java自定义注解Annotation的使用

    从 jdk5开始,Java增加了对元数据的支持,也就是Annotation,Annotation其实就是对代码的一种特殊标记,这些标记可以在编译,类加载和运行时被读取,并执行相应的处理.当然刚刚说了, ...

  5. Java自定义注解Annotation详解

    注解相当于一种标记,在程序中加了注解就等于为程序打上了某种标记,没加,则等于没有某种标记,以后,javac编译器,开发工具和其他程序可以用反射来了解你的类及各种元素上有无何种标记,看你有什么标记,就去 ...

  6. springboot Aop配置,并使用自定义注解annotation,并且拦截service层

    前言 用Spring Boot的AOP来简化处理自定义注解,并将通过实现一个简单的方法执行判断节点是否开始的状态示列源码. AOP概念 面向侧面的程序设计(aspect-oriented progra ...

  7. 自定义注解--Annotation

    Annotation 概念:注解 原理 是一种接口,通过反射机制中的相关API来访问annotation信息 常见的标准Annotation @Override   方法重写 @Deprecated  ...

  8. 2.基于AOP自定义注解Annotation的实现

    上一篇中分析了AOP的实现原理, 总结为: 判断对象是否需要被代理?@Aspect注解的实现是根据切入点表达式 代理之后需要做什么,就是那些通知,本质上是实现了MethodInterceptor的拦截 ...

  9. springmvc之自定义注解(annotation)

    参考:日志处理 三:Filter+自定义注解实现 系统日志跟踪功能 1.项目结构 2.pom.xml,添加需要依赖 <project xmlns="http://maven.apach ...

随机推荐

  1. windows平台下cocos2d-x-3.0beta2创建新项目

    我目前使用的版本是cocos2d-x-3.0beta2 前提: 已安装了python2.7.3 已安装了VS2012 打开我的cocos2d-x-3.0beta2所在文件夹F:\Framework\c ...

  2. ⏰Day.js 2kB超轻量时间库 和Moment.js一样的API

    Moment.js 是一个大而全的 JS 时间库,很大地方便了我们处理日期和时间.但是 Moment.js太重了(200k+ with locals),可能一般项目也只使用到了她几个常用的API.虽然 ...

  3. Android SDK下载安装及配置教程

    2017年12月07日 13:33:32 4942 转载自:http://blog.csdn.net/dr_neo/article/details/49870587 Android开发环境搭建可以分为 ...

  4. JQuery when() done() then()

    jQuery.when(deferreds) 参数deferreds,一个或多个延时对象或JS对象,我们初略的认为它就是一个或多个异步请求. 例如:$.when($.ajax("page1. ...

  5. Java获取随机数的3种方法

    最小值---最大值(整数)的随机数     方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1)) 例: (int)(1+Math.random()*(10-1+1)) / ...

  6. 简单的国际化i18n

    就是简单的中英文转换 index.jsp <%@ page language="java" contentType="text/html; charset=UTF- ...

  7. centos 6安装opencv

    昨天装好的,今天有些细节已经记不起来里,大致写一下吧. 首先,从opencv官网下载linux的opencv-2.4.9安装包,下载地址:http://jaist.dl.sourceforge.net ...

  8. js数组排序,支持正反排序以及多维度排序

    工作中遇到js数组排序问题,数组中存储的都是对象,于是就百度了下,利用别人的代码进行修改,最终完成可以倒序.反序,可以进行多维度排序的功能源码如下: /** * js数组排序 支持数字和字符串 * @ ...

  9. Docker镜像的实现原理

    Docker 镜像是怎么实现增量的修改和维护的? 每个镜像都由很多层次构成,Docker 使用 Union FS 将这些不同的层结合到一个镜像中去. 通常 Union FS 有两个用途, 一方面可以实 ...

  10. User-Agent-Switcher和fiddler

    浏览器模拟器(可以模拟各种浏览器效果,浏览器中看手机显示的效果) http://chromecj.com/web-development/2014-09/70.html User-Agent-Swit ...