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. Jmeter性能测试-GC相关

    1.GC相关 HotSpot虚拟机将其物理上划分为两个–新生代(young generation)和老年代(old generation).新生代(Young generation): 绝大多数最新被 ...

  2. webpack与grunt/glub 的比较

    webpack.grunt.glub 都是前端打包的工具: grunt/gulp 的工作方式是:在一个配置文件中,指明对某些文件进行压缩.组合.检查等任务的具体步骤,然后在运行中输入相应的命令. we ...

  3. 广大暑假训练1 E题 Paid Roads(poj 3411) 解题报告

    题目链接:http://poj.org/problem?id=3411 题目意思:N个city 由 m 条路连接,对于一条路(假设连接Cityia和 Cityb),如果从Citya 去 Cityb的途 ...

  4. Windows Mysql启动出现1069错误 “由于登录失败而无法启动服务” 的处理方法

    问题现象 windows下mysql服务无法启动,报1069错误. 问题原因 如果Mysql启动用户的密码或者权限错误,会导致Windows服务器Mysql启动时出现"由于登录失败而无法启动 ...

  5. MDZX——张能传

    「你们到底要干什么?!」——8012年7月13日 张能于MDZX ———————————— 序章 ———————————— 话说天下大势,分久必合,合久必分. 他肩扛99米大砍刀,站在MDZX大门对面 ...

  6. 【HDU 3613】Best Reward

    [题目链接] 点击打开链接 [算法] 正反两遍EXKMP,即可 [代码] #include<bits/stdc++.h> using namespace std; #define MAXC ...

  7. Balancing Act(树的重心)

    传送门 Balancing Act Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 14070   Accepted: 593 ...

  8. 廖雪峰python3练习题一

    数据类型和变量 题目: 答案: print(123) print(456.789) print('\'Hello,world\'') print('\'Hello,\\\'Adam\\\'\'') p ...

  9. Spring中AOP的两种代理方式(Java动态代理和CGLIB代理)

    第一种代理即Java的动态代理方式上一篇已经分析,在这里不再介绍,现在我们先来了解下GCLIB代理是什么?它又是怎样实现的?和Java动态代理有什么区别? cglib(Code Generation ...

  10. 骨骼蒙皮动画(Skinned Mesh)的原理解析(二)

    http://blog.csdn.net/jimoshuicao/article/details/9283071 2)蒙皮信息和蒙皮过程 2-1)Skin info的定义 上文曾讨论过,Skinned ...