关于《Java编程思想》注解篇的一个案例所遇到的疑惑-apt参数的问题
来源:互联网 发布:知名coser 知乎 编辑:程序博客网 时间:2024/06/05 03:02
案例为提取接口的案例,里面有一条命令 apt-factory annotations.InterfaceExtractorProcessorFactory Multiplier.java –s ../annotations,这条命令用来运行自定义的AnnotationProcessor,通过继承AnnotationProcessorFactory来进行配置。在写完工程代码后根据自己的包名输入了上述命令,但是运行失败,提示找不到所定义的工厂类,检查自定义的AnnotationProcessorFactory的supportedAnnotationTypes方法,里面所设置的工厂类名包名完整且正确,既然找不到该类,可能是ClassPath配置的问题,根据工程重新配置了ClassPath,提示找不到java文件,经过多次的实验,如果直接进入的工程的该注解类所在目录下,可以成功运行,猜测为路径设置错误的问题,根据自己的工程路径,更改操作时所在的目录,使用正确的相对路径,仍然可以正常运行,判定确实为路径问题。
最后执行的命令为:D:\>apt -factory com.annotation.apt.InterfaceExtractorProcessorFactory src/com/annotation/apt/Multiplier.java -s src/com/annotation/apt -nocompile
再将java源文件路径更改为绝对路径D:\>apt -factory com.annotation.apt.InterfaceExtractorProcessorFactory D:\Java\eclipse\workspace_epa\Annotation\src\com\annotation\apt\Multiplier.java -s D:\Java\eclipse\workspace_epa\Annotation\src\com\annotation\apt -nocompile,仍然可以正常运行。
总结:
1.-factory 参数后跟随的为工厂的class名称,包含完整的包名和类名,需首先配置工程的正确的ClassPath;
2.java源文件如使用相对路径,则是以当前命令窗口所在的目录为基准的,如我在工程的根目录D:\Java\eclipse\workspace_epa\Annotation下,则只需要输入src/com/annotation/apt/Multiplier.java即可;
3.java源文件如果使用绝对路径,则无路径出错找不到XX.java文件的问题;
4.如果不需要编译源文件,输入可选参数 -nocompile;
5.-s 生成的文件保存位置,与查找源文件类似,也是一命令执行时所在的目录为基准的,同样,也可以指定绝对路径。
- 关于《Java编程思想》注解篇的一个案例所遇到的疑惑-apt参数的问题
- 关于《Java 编程思想》第四版第十五章“泛型”逆变例子的疑惑
- socket的编程所遇到的问题
- 一个关于tomcat的疑惑??
- 关于volatile的一个疑惑
- 一个关于kylin的疑惑
- 关于集成spring、dwr、maven并使用注解开发所遇到的一些问题
- 自己一个疑惑的问题
- 百钱百鸡问题的一个疑惑
- 编程时遇到的疑惑和解决。
- 关于java中参数传递的几点疑惑
- Spring 注解配置事务中所遇到的一点问题
- 关于&& || ! 遇到的一个问题
- 《程序员面试宝典》中所遇到的疑惑与解答
- 《Java编程思想》参数化的接口
- 在使用mybaitis传参数的时候,仅传入一个类型为String的参数所遇到的问题
- apt-get 安装失败的一个案例
- 关于C++编程思想151页遇到的内存分配问题
- 在Unity3D里面使用Lua
- Android休眠唤醒驱动流程分析(四)
- 怎样才能充分利用SQL索引
- Comparable接口与comparator接口的区别与联系
- poj 1753 Flip Game (枚举+搜索)
- 关于《Java编程思想》注解篇的一个案例所遇到的疑惑-apt参数的问题
- 详细解析Java中抽象类和接口的区别
- cd
- hbase0.98 源码分析-读数据流程
- Linux命令之rz - 批量上传文件,简单易用
- XML解析
- 使用ident来格式化你的c程序
- PHP 执行系统外部命令
- Using libxml2 to get value of specific key