3

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

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

关于如何在 1.6 或 1.7 类上执行这个看似简单的任务的任何想法或示例?

4

2 回答 2

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 从您的虚拟类生成文档。

这可能有点长,但这是我对这个的猜测......

于 2012-05-15T07:54:05.637 回答
1

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

于 2012-08-06T13:09:49.670 回答