gpt4 book ai didi

Javadoc源文件解析

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:46:34 28 4
gpt4 key购买 nike

在我的程序中,我动态获取 .java 文件的名称。在这个文件中,我需要找到所有方法,foreach 方法以及所有参数(还有它们的注释)。

我通读了这里的讨论并找到了这个 https://code.google.com/p/javaparser/ javaparser,这看起来很容易使用,但问题是,它只适用于 1.5。

比你提到的,Java 1.6 已经有了内置的解析器 (javax.lang.model)。但我不知道它是如何工作的。您知道任何好的教程/示例吗?

你知道解析java源文件的其他方法吗?

最佳答案

如何使用 Doclet API ?
通常,此 API 从 bat 文件中使用,但您可以像下面这样以编程方式调用。

重要:此 API 不存在于 rt.jar(JRE) 中,而是存在于 tools.jar (JDK) 中。所以你需要将 tool.jar 添加到类路径中。

import com.sun.javadoc.ClassDoc;
import com.sun.javadoc.Doclet;
import com.sun.javadoc.MethodDoc;
import com.sun.javadoc.RootDoc;
import com.sun.tools.javadoc.Main;

public class DocletTest {

public static void main(String[] args) {
Main.execute("", Analyzer.class.getName(), new String[] {"path/to/your/file.java"});
}

public static class Analyzer extends Doclet {

public static boolean start(RootDoc root) {
for (ClassDoc classDoc : root.classes()) {
System.out.println("Class: " + classDoc.qualifiedName());

for (MethodDoc methodDoc : classDoc.methods()) {
System.out.println(" " + methodDoc.returnType() + " " + methodDoc.name() + methodDoc.signature());
}
}
return false;
}
}
}

关于Javadoc源文件解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24727110/

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