使用jdk的sun java doc工具包获取类中方法的参数注释信息,方法签名注释信息,返回值注释信息,方法上的注解信息

某日工作时需要将类中所有方法详细信息收集到excel中,包括方法的参数注释信息,方法签名注释信息,返回值注释信息,方法上的注解信息,而我需要列举的类方法有80 90个那不是累死人。突然想到曾经写过通过javadoc获取注释信息的功能,而注解信息,通过jdk暴露出来的api 是获取不到,需要另辟蹊路,经过研究我发现sun.javadoc中有注解的信息,只是没有暴露出来,在他的com.sun.tools.javac.tree.JCTree.JCMethodDecl类中,我使用了反射私有属性获取到了该信息。现提供解决方案如下,供有需要的兄弟享用:

1、首先你使用sun.javadoc需要依赖jdk的tools.jar,在gradle中添加依赖

compile files("${System.properties['java.home']}/../lib/tools.jar")

2、代码调用

 /**
     * 
     */
    @Test
    public void generateRestFullExcel() {
        com.sun.tools.javadoc.Main
            .execute(new String[] { "-doclet", Doclet.class.getName(), "-docletpath",
                Doclet.class.getResource("/").getPath(), "-encoding", "utf-8", "-classpath",
                "D:/xxx/bin;",
                "D:/xxx/xxx.java" });
        JSONArray datas = show();
        
        String[] title = { "方法名称", "方法说明", "入参", "出参", "注解" };
        // 创建excel工作簿
        HSSFWorkbook workbook = new HSSFWorkbook();
        // 创建工作表s
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值