如何为没有源的类生成JavaDoc文档?

时间:2012-05-08 08:15:00

标签: java reflection documentation javadoc

我想生成一些我没有源代码的jar文件中的类文件的基本html接口文档(当然没有注释)。我怎么能这样做呢?

classdoc [Class Doc] [1] http://classdoc.sourceforge.net/的旧工具,可用于java 1.3,用于提供此服务。在我看来,这可以通过使用反射来完成。

使用javadoc或其他实用程序的任何想法或示例如何在1.6或1.7类上执行这个看似简单的任务?

2 个答案:

答案 0 :(得分:1)

可能有自动化解决方案,但我不知道。我最好的选择是手动编写一些代码,这些代码将生成带有javadoc的虚拟java文件。您必须使用以下内容浏览jar文件:

ArrayList<Class> classes = new ArrayList<Class>();    
    JarFile jfile = new JarFile("your jar file name");
    String pkgpath = pckgname.replace(".", "/");     
    for (Enumeration<JarEntry> entries = jfile.entries(); entries.hasMoreElements();) {
        JarEntry element = entries.nextElement();     
        if(element.getName().startsWith(pkgpath)
            && element.getName().endsWith(".class")){     
            String fileName = element.getName().substring(pckgname.length() + 1);     
            classes.add(Class.forName(pckgname + "." + fileName .split("\\.")[0]));     
        }     
    }

然后,对于每个类,您必须浏览他们的方法,最后写下看起来像jar文件中的原始类的虚拟类。当代码将伪方法写入文件时,使其也根据参数和返回类型编写javadoc注释。

完成此操作后,使用javadoc从您的虚拟类生成文档。

这可能有点长,但我猜这个......

答案 1 :(得分:1)

您可以使用jar tvf yourjar.jar列出类,使用javap来反汇编类,它会产生非常清晰的文档。