Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将不同的javadoc zip文件组合成单个javadoc zip文件_Java_Javadoc - Fatal编程技术网

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

将不同的javadoc zip文件组合成单个javadoc zip文件,java,javadoc,Java,Javadoc,对于我们使用的不同第三方JAR,我们有不同的Javadoc文件。我们必须将它们合并到一个Javadoc文件中,与我们的产品一起分发 有可能吗?有可用的工具吗 至少有什么工具可以让我输入与一个jar相关的.class文件和该jar的javadoc,并生成带有文档的.java(源代码)文件,这样我就可以组合这些源代码,并一次性生成所有teh库的javadoc 任何指针都会对我大有帮助。您可以将它们合并在一起,方法是将它们全部解包到同一目录中,然后重新打包 您可以得到将.class转换为.java文件

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

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

至少有什么工具可以让我输入与一个jar相关的.class文件和该jar的javadoc,并生成带有文档的.java(源代码)文件,这样我就可以组合这些源代码,并一次性生成所有teh库的javadoc


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

您可以将它们合并在一起,方法是将它们全部解包到同一目录中,然后重新打包

您可以得到将.class转换为.java文件的反编译器,但我不知道有哪一个会结合javadocs。如果这对您很重要,您可能必须手动执行


我原以为未经第三方库的许可为其分发源代码是个坏主意。

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

您可以得到将.class转换为.java文件的反编译器,但我不知道有哪一个会结合javadocs。如果这对您很重要,您可能必须手动执行


我原以为未经第三方库的许可就为其分发源代码是个坏主意。

我认为最好的办法是下载所有三个库的源代码,将所有源代码放到一个IDE项目集中(NetBeans、Eclipse…),然后从那里生成文档。反编译.class文件,然后将它们与java文档结合起来似乎是个坏主意。因为javadoc是从源代码生成的,所以将所有三个项目组合起来应该是最容易的。也就是说,这可能是一项相当艰巨的工作


另一个选项是从两个库中取出相关的位(文件夹),并将它们复制到第三个库的根中(首先解包javadocs jar)。例如,Java6SE这些文件夹将是
Java
javax
org
。这些文件包含实际的文档文件,其余的只是链接、框架和其他html管道。从那里,您可以生成一个脚本,该脚本遍历其他两个库的类层次结构,并将它们添加到第三个库的html管道中。不过,这比从合并的源代码中重新生成文档要复杂得多。

我认为最好的办法是下载所有三个库的源代码,将所有源代码放到一个IDE项目集中(NetBeans、Eclipse…),然后从那里生成文档。反编译.class文件,然后将它们与java文档结合起来似乎是个坏主意。因为javadoc是从源代码生成的,所以将所有三个项目组合起来应该是最容易的。也就是说,这可能是一项相当艰巨的工作


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

我也想这样做,这个问题鼓励我更进一步

我找到了一个适合我的解决方案:

  • 反编译所有类文件,使其具有可编译的源文件。有几个反编译器可用(请参阅)。我第一次尝试Java反编译器,但它产生了太多语法错误。然后我在Procyon中做了这件事,在猜测的参数名中只产生了2个错误(大约5000个类):

  • 为这些反编译类生成javadoc:

    javadoc -sourcepath src -d javadoc -subpackages com
    
    这实际上会产生垃圾文档,因为源文件中没有javadoc。但是,索引文件是正确的

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


  • 我也想这样做,这个问题鼓励我更进一步

    我找到了一个适合我的解决方案:

  • 反编译所有类文件,使其具有可编译的源文件。有几个反编译器可用(请参阅)。我第一次尝试Java反编译器,但它产生了太多语法错误。然后我在Procyon中做了这件事,在猜测的参数名中只产生了2个错误(大约5000个类):

  • 为这些反编译类生成javadoc:

    javadoc -sourcepath src -d javadoc -subpackages com
    
    这实际上会产生垃圾文档,因为源文件中没有javadoc。但是,索引文件是正确的

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


  • 如果您已经有了用于库的Javadocs和jar,那么为什么需要生成源代码呢?如果您需要源代码,为什么不下载它们呢?我的utimate目标是生成一个javadoc.zip文件,其中包含所有合并的第三方库api。我想至少我可以通过逆向工程为所有文档创建带有注释的代码,并一次性生成javadoc。Dó各个javadoc归档文件之间的包重叠?@Thorbjørn Ravn Andersen:你能稍微解释一下吗more@Thorbjørn Ravn Andersen不,我认为问题在于一般的HTML文件(框架、链接树等)重叠,因为每个文档包的名称总是相同的。如果您已经有用于库的Javadocs和JAR,为什么需要生成源代码?如果您需要