如何使用javax.lang.model读取文件?

7
我看到很多关于javax.lang.model的引用,它似乎是解析Java文件的API,而且似乎它足以满足我想做的事情。但是我找不到任何使用其中的类的示例,从打开.java文件开始。我唯一找到的模糊参考是关于编写编译器插件并使用javac调用代码的。
这是使用该API的唯一方法吗?难道不可能只是打开一个文件并使用自己的main()从javax.lang.model.element获取类的实例吗?是否有人能够指向这种性质的工作示例?
1个回答

3

javax.lang.model、javax.lang.model.element、javax.lang.model.element.type和javax.model.element.util包旨在用于注解处理器(javax.annotation.processing.Processor),这些处理器是您提到的编译器插件。有一个编译器API可供您在运行时编译和分析类。您可以使用javax.tools.ToolProvider.getSystemJavaCompiler()来获取javax.tools.JavaCompiler类。它具有编译.java文件和运行注解处理器的接口。有关更多信息,请查看JavaCompiler#getTask


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接