gpt4 book ai didi

java - 使用 JSR 199 Compiler API 在目录树中编译一组 Java 文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:04:38 25 4
gpt4 key购买 nike

我正在尝试使用编译器 API 编译许多文件。

假设我有一个目录结构

.../program
+/org
+/foo
|+ Main.java
+/bar
+ Tools.java

有什么方法可以发现所有 Java 文件并使其编译所有内容,而无需诉诸递归到所有目录并找到所有 *.java 文件?

编辑:我想做的是编译我在某个目录树中获得的所有类。这些类彼此独立。然后我加载类并实例化这些类的一些对象并调用方法。所有类都不需要有 main。

最佳答案

javax.tools.JavaFileManager 类有一个 list()应该解决问题的方法:

Iterable<JavaFileObject> list(JavaFileManager.Location location,
String packageName,
Set<JavaFileObject.Kind> kinds,
boolean recurse)
throws IOException

使用 recurse 参数来包含“子包”,然后迭代返回的 JavaFileObject

关于java - 使用 JSR 199 Compiler API 在目录树中编译一组 Java 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1576530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com