将不同的javadoc zip文件组合到单个javadoc zip文件中

时间:2012-07-18 07:08:39

标签: java javadoc

对于我们使用的不同第三方jar,我们有不同的Javadoc文件。我们必须将它们全部合并到单个Javadoc文件中,以便与我们的产品一起分发。

有可能吗?有没有可用的工具?

Atleast是否有任何工具,我输入与一个jar相关的.class文件和该jar的javadoc,它也会生成带有文档的.java(源代码)文件,这样我就可以组合这些源并生成javadoc为单个镜头中的所有teh库?

任何指针都会对我有很大的帮助。

3 个答案:

答案 0 :(得分:1)

我想做同样的事情,这个问题鼓励我走得更远。

我找到了一个对我有用的解决方案:

  1. 将所有类文件反编译为可编译源文件。有几个反编译器可用(见this question)。我首先尝试了Java Decompiler,但它产生了太多的语法错误。我在Procyon中做到了,它只在猜测的参数名中产生了2个错误(在~5000个类中):

    java -jar procyon-decompiler-0.5.26.jar -o src [jarfile.jar]
    
  2. 为那些反编译的类生成javadoc:

    javadoc -sourcepath src -d javadoc -subpackages com
    

    由于您的源文件中没有javadoc,因此本质上会生成垃圾文档。但索引文件是正确的!

  3. 用可用的javadoc中的相应文件夹替换javadoc包文件夹。对我来说,这意味着com文件夹。

答案 1 :(得分:0)

您可以通过将它们全部解压缩到同一目录并将它们全部打包来组合它们。

你可以得到将.class转换成.java文件的反编译器,但我不知道任何组合javadocs的文件。如果它对您很重要,您可能必须手动执行此操作。

我原本以为在没有他们许可的情况下分发第三方图书馆的来源是一个坏主意

答案 2 :(得分:0)

我认为最好的办法是下载所有三个库的源代码,将所有源代码放到一个IDE项目(NetBeans,Eclipse ...)中,然后从那里生成文档。解压缩.class文件然后将它们与java文档组合似乎是一个坏主意。由于javadocs是从源代码生成的,无论如何将所有三个项目组合起来应该是最简单的。那说它可能是一项相当多的工作。

另一个选项是从两个库中取出相关位(文件夹)并将它们复制到第三个库的根目录(首先解压缩javadocs jar)。例如,Java 6 SE这些文件夹将是javajavaxorg。这些包含实际的文档文件,其余只是链接和框架以及其他html管道。从那里,您可以创建一个脚本,该脚本遍历另外两个库的类层次结构,并将它们添加到第三个库的html管道中。这比仅仅从组合来源重新生成文档要多得多。