我的评论是什么意思:
/**
*My Comment from database
*/
我的问题:
我得到了一堆根本没有评论的 DTO。但是,SQL 数据库中有注释。我可以通过发送查询然后检索 ResultSet 来获得这些评论。
我的任务是使用来自 SQL 数据库的注释创建一个 javadoc-API(作为 HTML 并在 javacode 中),以使代码库更易于理解。
我编写了一个从 sql 数据库中检索注释的小型 java 程序。我使用上面显示的所需 javadoc 注释格式将找到的注释写入文件。评论栏中没有文本意味着评论为空(没关系!)
为了澄清,这里是之前和之后的图片。(不用担心文字是德语)
这就是它现在的样子
这就是它应该看起来的样子
如开头所述。我可以在自定义 doclet 的帮助下生成 Javadoc 注释(像这样)吗?有人告诉我,我使用简单的 java 程序的解决方案很好,但是为这个任务制作一个 doclet 会更好。
我尝试了什么:
我阅读了一些关于该主题的 Doclet 概述、Javadoc 常见问题解答和教程。我发现您可以从 com.sun.javadoc.* 扩展 Doclet 类;覆盖 start(RootDoc root) 方法。
有了这个,我可以在这个自定义 doclet 的帮助下打印所需包中的类的字段、标签和方法。
除了这个用例之外,我没有找到有关如何实际编写自己的 Doclet 的更多详细信息。
是否有可能编写一个在您的代码中生成 javadoc 注释的 doclet?或者使用我现有的解决方案来解决问题会更好吗?
这是我现在的自定义 doclet:
package myPackage;
import com.sun.javadoc.*;
public class ListClass extends Doclet{
public static void main(String[] args) {
String[] blarg = new String[] {
"-private", //shows private fields and methods
"-doclet",
"myPackage.ListClass", //Doclet to use
"-sourcepath",
"C:/DEV/workspace_jss/MyTestProject/src", //path to Package
"myPackage" //package name
};
com.sun.tools.javadoc.Main.execute(blarg);
}
public static boolean start(RootDoc root) {
ClassDoc[] classes = root.classes();
for(ClassDoc cDoc : classes) {
System.out.println(cDoc);
FieldDoc fields[] = cDoc.fields();
for(FieldDoc field : fields) {
System.out.println(" field: " + field);
System.out.println(" field name: " + field.name());
System.out.println(" field commentText: " + field.commentText());
System.out.println(" field type: " + field.type());
Tag[] tags = field.tags();
for(Tag tag : tags) {
System.out.println(" tag: " + tag);
System.out.println(" tag name: " + tag.name());
System.out.println(" tag text: " + tag.text());
}
}
MethodDoc methods[] = cDoc.methods();
for(MethodDoc method : methods) {
System.out.println(" method: " + method);
}
}
return true;
}
}