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. spin_lock、spin_lock_irq、spin_lock_irqsave区别

    void spin_lock(spinlock_t *lock); void spin_lock_irq(spinlock_t *lock); void spin_lock_irqsave(spinl ...

  2. LightOJ - 1422 Halloween Costumes —— 区间DP

    题目链接:https://vjudge.net/problem/LightOJ-1422 1422 - Halloween Costumes    PDF (English) Statistics F ...

  3. 666 专题五 AC自动机

    Problem A.Keywords Search d.n个关键字,1段描述,求描述中出现了多少关键字 s. c. /* ac自动机模板 n个关键字,1段描述,求描述中出现了多少关键字 */ #inc ...

  4. 如何在cowboy应用中指定mnesia数据库路径

    创建mnesia数据库的步骤简述: 1)定义脚本: -module(mns). -export([setup/0, clean/0]). -record(user, { id, coin, diamo ...

  5. Android Studio四大组件之Service

    Service在Android运行在后台,它没有可视化界面,只是默默运行在后台.我们以一个后台定时器的例子清晰的说明Service的运行流程. 一.创建Service类 项目右键->New-&g ...

  6. 【POJ 2411】 Mondriaan's Dream

    [题目链接] 点击打开链接 [算法] 很明显,我们可以用状态压缩动态规划解决此题 f[n][m]表示n-1行已经放满,第n行状态为m的合法的方案数 状态转移方程很好推 注意这题时限较紧,注意加一些小优 ...

  7. Sublime text 安装Package Control

    Package Control 插件是一个方便 Sublime text 管理插件的插件,但因为 Sublime Text 3 更新了 Python 的函数,API不同了,导致基于 Python 开发 ...

  8. 整合ssh的时候出现空指针java.lang.NullPointerException

    转自:https://blog.csdn.net/koudailidexiaolong/article/details/9468857 HTTP Status 500 - type Exception ...

  9. 使用Code First 迁移发布asp.net mvc 程序

    通过Code First 迁移发布asp.net mvc应用程序,与在visual studio 程序包控制器管理台中运行Add-Migration ,Update-Database 一致. 在发布的 ...

  10. 6-13 Hog特征1

    Hog特征与Haar特征有点不同,Hog特征是直接经过模板计算得到的