我想在一个我没有源代码的 jar 中生成一些基本的 html 接口文档(当然没有注释)。我该怎么做呢?
classdoc [Class Doc][1]http://classdoc.sourceforge.net/ 的旧工具可用于 java 1.3,用于提供此服务。在我看来,这可以通过使用反射来完成。
关于如何在 1.6 或 1.7 类上执行这个看似简单的任务的任何想法或示例?
我想在一个我没有源代码的 jar 中生成一些基本的 html 接口文档(当然没有注释)。我该怎么做呢?
classdoc [Class Doc][1]http://classdoc.sourceforge.net/ 的旧工具可用于 java 1.3,用于提供此服务。在我看来,这可以通过使用反射来完成。
关于如何在 1.6 或 1.7 类上执行这个看似简单的任务的任何想法或示例?
可能有自动化解决方案,但我不知道。我最好的选择是手动编写一些代码,这些代码将生成带有 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 从您的虚拟类生成文档。
这可能有点长,但这是我对这个的猜测......
你可以用它jar tvf yourjar.jar
来列出类,以及javap
反汇编类,它会产生一个非常清晰的文档。