java 获取代码注释

1.今天来介绍工具获取java代码的注释,以此来编写自动生成文档工具。

代码:
先导入jdk的tools.jar包

public class Doclet {

    public static class Entry {
        /**参数名*/
        public String fName;
        /**类型*/
        public String fType;
        /**说明*/
        public String fExplain;

        public Entry(String fName, String fType, String fExplain) {
            super();
            this.fName = fName;
            this.fType = fType;
            this.fExplain = fExplain;
        }
    }

    private static RootDoc rootDoc;
    private String javaBeanFilePath;

    public Doclet(String javaBeanFilePath) {
        this.javaBeanFilePath = javaBeanFilePath;
    }

    public List<Entry> exec() {
        com.sun.tools.javadoc.Main.execute(new String[] { "-doclet", Doclet.class.getName(), "-docletpath",
                Doclet.class.getResource("/").getPath(), "-encoding", "utf-8", javaBeanFilePath });
        ClassDoc[] classes = rootDoc.classes();

        List<Entry> entrys = Lists.newArrayList();
        for (ClassDoc classDoc : classes) {
            FieldDoc[] fields = classDoc.fields(false);
            for (FieldDoc field : fields) {
                entrys.add(new Entry(field.name(), Type.type(field.type().typeName()), field.commentText()));
            }
            // buffer.append('\t').append("方法").append('\n');
            // MethodDoc[] methods = classDoc.methods();
            // for (MethodDoc method : methods) {
            // buffer.append('\t').append('\t').append(method.name()).append('\n');
            // buffer.append('\t').append('\t').append('\t').append(method.commentText()).append('\n');
            // }
        }
        return entrys;
    }

    public static boolean start(RootDoc root) {
        rootDoc = root;
        return true;
    }

    public static void main(String[] args) {
        Doclet doclet = new Doclet(
                "D:\\dev\\java_workspace\\git_pro\\yunji-groupbuy\\yunji-groupbuyapi\\src\\main\\java\\com\\yunji\\groupbuy\\bean\\response\\GroupbuyDetailVo.java");
        doclet.exec();
    }
}

上面会将指定的java源文件中的类的成员变量名称,类型,注释返回。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值