我安装了一个名为PMD的Eclipse插件,我想只使用其中一个功能(提取抽象语法树)。主要问题是,我想要完全自动化它而不点击任何东西,而不是右键单击每个Java源代码,然后单击AST功能。
因此,问题是是否有一种方法或方法可以从我编写的源代码中调用该插件的功能。
我曾尝试导入PMD的maven项目,但是我遇到了一些错误,并且有很多我不会使用的功能(支持其他语言等)。因此,我试图找到一种更轻量级的方法。 PMD是一个非常大的项目,可以将它集成到我自己的项目中。
提前致谢。
答案 0 :(得分:0)
显然,PMD Plugin的源代码已打开。因此,当相关的类和方法转换为标准的Java桌面应用程序(而不是插件)时,可以创建没有和UI交互的AST文件。
转换部分非常简单易行。由于PMD插件需要UI,因此它使用诸如IFile,IProject等类。因此,这些类可以更改等效类,例如;文件,项目等。
在给出项目的路径之后,通过添加递归遍历其子目录的简单代码,将帮助您找到所有Java源文件。然后通过将每个Java源文件发送到AST生成器方法将完成所有操作。