我的任务是开发一个工具来扫描大量 Java 项目(约 7000 个.java
文件)以使用已弃用的方法/属性/API。已指定该工具一次扫描单个文件,执行一些分析,并输出有问题的文件列表,以及不推荐使用的代码出现的行号。我一直在使用 Eclipse JDT Java 解析器来实现这一点,但是我似乎无法弄清楚这一点。
因为每个文件一次扫描一个,编译器不知道哪些方法被弃用,哪些不是,所以我不能只调用某个isDeprecated()
方法就这样。
我编制了要在代码中查找的所有已弃用方法的列表,并针对代码库中的每个方法调用(有很多)进行检查,但这是一个丑陋的解决方案,并且产生了令人无法接受的大量错误由于解析器的限制或我对解析器知识的限制,积极的一面。
我是否能够构建每个单独的项目并将编译器警告输出到某个.txt
文件或其他东西?这是我第一次处理这种规模的项目,所以我不太确定这样的事情是如何运作的。这并不完全符合规范,我想这会相当耗时,但如果这就是它所需要的,那么这就是它所需要的。