我想生成一些我没有源代码的jar文件中的类文件的基本html接口文档(当然没有注释)。我怎么能这样做呢?
classdoc [Class Doc] [1] http://classdoc.sourceforge.net/的旧工具,可用于java 1.3,用于提供此服务。在我看来,这可以通过使用反射来完成。
使用javadoc或其他实用程序的任何想法或示例如何在1.6或1.7类上执行这个看似简单的任务?
答案 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
来反汇编类,它会产生非常清晰的文档。