JavaParser 读取 src 目录

标签 java javaparser

我一直在使用 CompilationUnit 来解析 Java 文件,但现在我想解析目录中的所有文件。

我尝试了以下方法,但是当我期望它是指定目录中的 Java 文件数时,编译大小计算为 0。

Path pathToSource = Paths.get("resources/src");
SourceRoot sourceRoot = new SourceRoot(pathToSource);
List<CompilationUnit> compilations = sourceRoot.getCompilationUnits();

遵循 JavaDoc - https://www.javadoc.io/doc/com.github.javaparser/javaparser-core

最佳答案

您要么必须手动添加所有编译单元,要么只需在 sourceRoot 上调用 tryToParse()

通过这个小修改,它找到了(几乎*)SourceRoot 下面的所有 .java 文件。

Path pathToSource = Paths.get("resources/src");
SourceRoot sourceRoot = new SourceRoot(pathToSource);
sourceRoot.tryToParse();
List<CompilationUnit> compilations = sourceRoot.getCompilationUnits();

(*它不支持java模块,所以它无法解析我的module-info.java)。

关于JavaParser 读取 src 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58486490/

相关文章:

java - 使用递归创建幂方法

Javaparser:用一种方法访问所有节点类型

java - 如何使用 Javaparser 解析 for 循环?

体式 json 数据的 JAVA 解析器 "Error:JSONObject cannot be converted to JSONArray"

java - 使用 JavaParser 计算类中的方法声明 + 方法调用

java - 如何在 Android 开发的 Java 中正确从 ViewPager、 fragment 设置获取当前 'page number'

java - 如何使用 GridBagLayout

java - 如何检查 Java 源文件是否有效(没有错误)?

java - 你应该在java中创建一个Generic Singleton类吗?

java - Android 不会显示 PHP 页面的特殊字符