Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:如何使用自定义doclet获取方法的注释(不是Javadoc!)_Java_Junit_Annotations_Javadoc_Doclet - Fatal编程技术网

Java:如何使用自定义doclet获取方法的注释(不是Javadoc!)

Java:如何使用自定义doclet获取方法的注释(不是Javadoc!),java,junit,annotations,javadoc,doclet,Java,Junit,Annotations,Javadoc,Doclet,我给自己写了一份定制文档。我正在使用JDK1.8。(我必须这样做。) 当然,我在课堂上用过 //import org.junit.jupiter.api.Test; public class MyClass { /** * @param a * @since 1.1 * @see a * @a asdf * @b asdfsfd * @c asfsdf */ @Override public voi

我给自己写了一份定制文档。我正在使用JDK1.8。(我必须这样做。)

当然,我在课堂上用过

//import org.junit.jupiter.api.Test;

public class MyClass {
    /**
     * @param a
     * @since 1.1
     * @see a
     * @a asdf
     * @b asdfsfd
     * @c asfsdf
     */

    @Override
    public void a(String a) {

    }

}
它的工作方式与我预期的不同。首先,我感到困惑的是,anno没有返回任何内容。我也不确定,为什么我不能从方法中获取@Override,而是从JavaDoc中获取其他所有自定义注释

这是我的输出

XXX\.jdks\corretto-1.8.0_265\bin\javadoc.exe" -docletpath . -doclet TagFunction MyClass.java
Loading source file MyClass.java...
Constructing Javadoc information...
Method MyClass.a(java.lang.String)
Tag @param:a
Tag @since:1.1
Tag @see:a
Tag @a:asdf
Tag @b:asdfsfd
Tag @c:asfsdf
问题1:ClassDoc.AnnotationDesc到底有什么好处?我以为它会输出标签

问题2:如何让doclet输出@Override标记?下一步是使用@Test标记进行尝试,但是如果我尝试了,我的cmd.exe会告诉我它不是有效的java代码。Javadoc.exe似乎无法找到包org.junit.jupiter.api.Test;这就是为什么我现在排除了这条线

问题#3:有人能给我解释一下注释和标记之间的区别吗?在大多数文档和网站上,这两个词似乎可以互换使用。我认为每一个标记,无论是方法的元数据还是JavaDocs中以@are注释/标记开头的文档,可能都有一些我不知道的区别

XXX\.jdks\corretto-1.8.0_265\bin\javadoc.exe" -docletpath . -doclet TagFunction MyClass.java
Loading source file MyClass.java...
Constructing Javadoc information...
Method MyClass.a(java.lang.String)
Tag @param:a
Tag @since:1.1
Tag @see:a
Tag @a:asdf
Tag @b:asdfsfd
Tag @c:asfsdf