Java編程思想》中的注解代码中引入过这么一个包(com.sun.mirror),书上说的是在Jdk中有个tools.jar中,引入这个包就每这个问题了,但是笔者用的是JDK 1.8,把这个包import进来,代码还是一批报错。

实在没办法就在网上找,于是找到了apt-mirror-api-0.1.jar,它包含了以下内容:

Files contained in apt-mirror-api-0.1.jar:

META-INF/MANIFEST.MF 
META-INF/maven/com.moparisthebest.aptIn16/apt-mirror-api/pom.properties 
META-INF/maven/com.moparisthebest.aptIn16/apt-mirror-api/pom.xml 
com.sun.mirror.apt.AnnotationProcessor.class 
com.sun.mirror.apt.AnnotationProcessorEnvironment.class 
com.sun.mirror.apt.AnnotationProcessorFactory.class 
com.sun.mirror.apt.AnnotationProcessorListener.class 
com.sun.mirror.apt.AnnotationProcessors.class 
com.sun.mirror.apt.Filer.class com.sun.mirror.apt.Messager.class 
com.sun.mirror.apt.RoundCompleteEvent.class 
com.sun.mirror.apt.RoundCompleteListener.class 
com.sun.mirror.apt.RoundState.class 
com.sun.mirror.declaration.AnnotationMirror.class 
com.sun.mirror.declaration.AnnotationTypeDeclaration.class 
com.sun.mirror.declaration.AnnotationTypeElementDeclaration.class 
com.sun.mirror.declaration.AnnotationValue.class 
com.sun.mirror.declaration.ClassDeclaration.class 
com.sun.mirror.declaration.ConstructorDeclaration.class 
com.sun.mirror.declaration.Declaration.class 
com.sun.mirror.declaration.EnumConstantDeclaration.class 
com.sun.mirror.declaration.EnumDeclaration.class 
com.sun.mirror.declaration.ExecutableDeclaration.class 
com.sun.mirror.declaration.FieldDeclaration.class 
com.sun.mirror.declaration.InterfaceDeclaration.class 
com.sun.mirror.declaration.MemberDeclaration.class 
com.sun.mirror.declaration.MethodDeclaration.class 
com.sun.mirror.declaration.Modifier.class 
com.sun.mirror.declaration.PackageDeclaration.class 
com.sun.mirror.declaration.ParameterDeclaration.class 
com.sun.mirror.declaration.TypeDeclaration.class 
com.sun.mirror.declaration.TypeParameterDeclaration.class 
com.sun.mirror.type.AnnotationType.class 
com.sun.mirror.type.ArrayType.class 
com.sun.mirror.type.ClassType.class 
com.sun.mirror.type.DeclaredType.class 
com.sun.mirror.type.EnumType.class 
com.sun.mirror.type.InterfaceType.class 
com.sun.mirror.type.MirroredTypeException.class 
com.sun.mirror.type.MirroredTypesException.class 
com.sun.mirror.type.PrimitiveType.class 
com.sun.mirror.type.ReferenceType.class 
com.sun.mirror.type.TypeMirror.class 
com.sun.mirror.type.TypeVariable.class 
com.sun.mirror.type.VoidType.class 
com.sun.mirror.type.WildcardType.class 
com.sun.mirror.util.DeclarationFilter.class 
com.sun.mirror.util.DeclarationScanner.class 
com.sun.mirror.util.DeclarationVisitor.class 
com.sun.mirror.util.DeclarationVisitors.class 
com.sun.mirror.util.Declarations.class 
com.sun.mirror.util.SimpleDeclarationVisitor.class 
com.sun.mirror.util.SimpleTypeVisitor.class 
com.sun.mirror.util.SourceOrderDeclScanner.class 
com.sun.mirror.util.SourcePosition.class 
com.sun.mirror.util.TypeVisitor.class com.sun.mirror.util.Types.class

把这个包引进代码中就可以了。

【转】java编程思想第20章的注解例子用到的com.sun.mirror的jar包的更多相关文章

  1. Java编程思想 第21章 并发

    这是在2013年的笔记整理.现在重新拿出来,放在网上,重新总结下. 两种基本的线程实现方式 以及中断 package thread; /** * * @author zjf * @create_tim ...

  2. Java编程思想——第17章 容器深入研究 读书笔记(三)

    七.队列 排队,先进先出. 除并发应用外Queue只有两个实现:LinkedList,PriorityQueue.他们的差异在于排序而非性能. 一些常用方法: 继承自Collection的方法: ad ...

  3. Java编程思想——第17章 容器深入研究(two)

    六.队列 排队,先进先出.除并发应用外Queue只有两个实现:LinkedList,PriorityQueue.他们的差异在于排序而非性能. 一些常用方法: 继承自Collection的方法: add ...

  4. Java编程思想中关于闭包的一个例子

    Java编程思想中的一个例子,不是很理解使用闭包的必要性,如果不使用闭包,是不是有些任务就不能完成?继续探索. package InnerClass; interface Incrementable ...

  5. 《Java编程思想》笔记 第二十章 注解

    1.注解 注解也称元数据,是在代码中添加信息的一种方式添加的信息提供给编译器或者工具类框架使用. SE5引入,可以提供用来完整描述程序所需要的信息,往往这些信息是无法用Java来表达的. 注解可以在编 ...

  6. Java编程思想-第四章练习题

    练习1:写一个程序,打印从1到100的值 public class Print1To100{ public static void main(String args[]){ for(int i = 1 ...

  7. Java编程思想笔记(第二章)

    第二章  一切都是对象 尽管Java是基于C++的,但相比之下,Java是一种更纯粹的面向对象程序设计语言. c++和Java都是杂合型语言(hybird language) 用引用(referenc ...

  8. java编程思想笔记(第一章)

    Alan Kay 第一个定义了面向对象的语言 1.万物皆对象 2.程序是对象的集合,他们彼此通过发送消息来调用对方. 3.每个对象都拥有由其他对象所构成的存储 4.每个对象都拥有其类型(TYpe) 5 ...

  9. java编程思想-第五章-某些练习题

    参考https://blog.csdn.net/caroline_wendy/article/details/46844651 10&11 finalize()被调用的条件 Java1.6以下 ...

随机推荐

  1. i2c_set_clientdata函数【转】

    本文转载自‘:http://blog.csdn.net/jk198310/article/details/43738367 在i2c驱动中有很多函数和数据结构,很多一时难以理解,所以写下本文共同学习. ...

  2. POJ2914 Minimum Cut —— 最小割

    题目链接:http://poj.org/problem?id=2914 Minimum Cut Time Limit: 10000MS   Memory Limit: 65536K Total Sub ...

  3. 织梦dedecms页面中增加二维码功能的实现方法

    本文介绍了在dedecms中增加二维码功能的实现方法,有时需要在dedecms页面增加二维码,方便手机用户访问,有需要的朋友参考下. 本节内容: dedecms中增加二维码功能   1.打开/incl ...

  4. hdu 1548 A strange lift 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1548 题目意思:给出 n 个 floor 你,每个floor 有一个数k,按下它可以到达 floor ...

  5. BZOJ_3073_[Pa2011]Journeys_线段树优化建图+BFS

    BZOJ_3073_[Pa2011]Journeys_线段树优化建图+BFS Description Seter建造了一个很大的星球,他准备建造N个国家和无数双向道路.N个国家很快建造好了,用1..N ...

  6. lua 与C通过c api传递table (2)

    本文转自http://blog.csdn.net/a_asinceo/article/details/49907903(感谢...) 一.单个参数的传递 首先我们在Lua中注册一个C类PJYCallb ...

  7. 任务29:自己动手构建RequestDelegate管道

    cmd创建一个控制台应用程序 dotnet new console --name MyPipeline 用VSCode打开这个项目 新建类RequestDelegate.cs的类文件复制Program ...

  8. UVaLive 6591 && Gym 100299L Bus (水题)

    题意:略. 析:不解释,水题. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include < ...

  9. TP5之model

    使用model 查询数据,添加数据,修改数据,删除数据 聚合操作 获取器,修改器 自动添加时间戳(创建时间,修改时间) 软删除 1.使用model查询数据 $res = User::get(1); / ...

  10. CSU_1216【异或最大值】

    转自:http://blog.csdn.net/fuyukai/article/details/50366133 题目简述: 经典题目,求一个数组中两个数异或运算的最大值.题目极其简单,但是要求的复杂 ...