使用 JSR 199 编译器 API 编译目录树中的一组 Java 文件
我正在尝试使用编译器 API 编译许多文件。
假设我有一个目录结构
<前><代码>.../程序 +/组织 +/富 |+ Main.java +/栏 + 工具.java
有没有办法发现所有 Java 文件并使其编译所有内容,而无需递归到所有目录并查找所有 *.java 文件?
编辑:我想做的是编译我在某个目录树中获得的所有类。这些类是相互独立的。然后我加载类并实例化这些类的一些对象并调用方法。没有一个类需要有 main.
I'm trying to compile many files using the Compiler API.
Say I have a directory structure
.../program +/org +/foo |+ Main.java +/bar + Tools.java
Is there any way to discover all the Java files and make it compiler everything without resorting to recursing into all the directories and finding all the *.java files?
EDIT: What I'm trying to do is compile all the classes that I get in some directory tree. These classes are independent of each other. Then I load the classes and instantiate some objects of these classes and call methods. None of the classes need to have main.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
javax.tools.JavaFileManager
类有一个list()
方法应该解决方法:使用
recurse
参数包含“子包”,然后迭代返回的JavaFileObject
。The
javax.tools.JavaFileManager
class has alist()
method that should do the trick:Use the
recurse
parameter to include "subpackages" and then just iterate over the returnedJavaFileObject
.