关于《Java编程思想》注解篇的一个案例所遇到的疑惑-apt参数的问题

本文讲述了在使用Java的Annotation Processing Tool (APT)进行注解处理时遇到的问题,主要涉及到类路径配置、源文件路径设定及生成文件保存位置的注意事项。在执行apt命令时,工厂类找不到是因为ClassPath配置不正确;相对路径的使用需要注意以命令窗口所在目录为基准;不加-nocompile参数则会默认编译源文件;生成文件的保存路径同样遵循命令执行目录或绝对路径的原则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    案例为提取接口的案例,里面有一条命令 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 生成的文件保存位置,与查找源文件类似,也是一命令执行时所在的目录为基准的,同样,也可以指定绝对路径。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值