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. django rest_framework swagger使用案例

    环境准备 环境要求: python3 django2 pip3 模块安装: pip3 install django-rest-framework pip3 install django-rest-sw ...

  2. hrtimer高精度定时器的简单使用【学习笔记】

    #include <linux/module.h> #include <linux/kernel.h> #include <linux/hrtimer.h> #in ...

  3. javascript中基本类型和引用类型的区别分析

    大多数人系统学习过的程序设计语言,在这些语言的学习过程中最早学到的几个要点之一就是值类型和引用类型的区别.下面我们来看一下在 JavaScript 中基本数据类型(Primitive Types)和引 ...

  4. nginx网站日志配置

    用yum安装的nginx的日志默认安装在路径:/var/log/nginx nginx配置文件:/etc/nginx/nginx.conf (总配置文件)/etc/nginx/conf.d/defau ...

  5. [SHOI 2013] 发微博

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4419 [算法] 用std :: set维护每个人的好友集合 当两人成为好友时将每人接 ...

  6. py-day8-socket网络编程

    本节内容 Socket介绍 Socket参数介绍 基本Socket实例 Socket实现多连接处理 通过Socket实现简单SSH 通过Socket实现文件传送 作业:开发一个支持多用户在线的FTP程 ...

  7. Gradle系列之二 Groovy对文件的操作

    Groovy对文件的操作 对文件的遍历 假设文件的原始内容为: hello,world 这里是北京 andorid and ios are good system 第一种方法:使用 eachLine( ...

  8. 51nod 1092【区间dp】

    思路: 简单的区间dp,从小区间到大区间,随便写. 还有一种是那啥,n-LCS...具体不说了,赶时间)))= =. #include <stdio.h> #include <str ...

  9. Struts+Spring+Hibernate处理Lob(Blob,Clob)

    在使用struts+spring+hibernate的开发中,有些时候用户会有数据库存储文件的需求,在数据库中一般会采用Blob字段或Clob字段来存储二进制图片.流媒体或文件.现就将在实际开发中遇到 ...

  10. Luogu P2278 [HNOI2003]操作系统【优先队列/重载运算符/模拟】 By cellur925

    题目传送门 本来是照着二叉堆的题去做的...没想到捡了个模拟...不过模拟我都不会...我好弱啊... 其实核心代码并不长,比辰哥的标程短到不知哪里去...但是思路需要清晰. 读题的时候我明白,当有优 ...