我一直在使用 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/