2012-07-18 80 views
1

我們爲不同的Javadoc文件使用不同的第三方jar。我們必須將它們全部合併成一個Javadoc文件,以便與我們的產品一起分發。將不同的javadoc zip文件合併到單個javadoc zip文件中

有沒有可能這樣做?有沒有可用的工具?

Atleast是否有任何工具,我輸入。jar文件相關的一個jar和javadoc該jar,它生成.java(源代碼)文件以及文檔,以便我可以結合這些來源和生成所有圖書館的單一鏡頭的javadoc?

任何指針都會對我有很大的幫助。

+0

如果您已經擁有Javadocs和庫的jar文件,爲什麼需要生成源代碼?另外如果你需要源代碼,爲什麼不下載它們? – 2012-07-18 07:12:39

+0

我的最終目標是生成單個javadoc.zip文件,其中包含所有合併的第三方庫api。我認爲至少我可以通過反向工程來爲所有這些代碼創建帶有註釋的代碼,並生成單個鏡頭中的javadoc。 – Syam 2012-07-18 07:16:53

+0

Dó包裹在各個javadoc檔案之間是否重疊? – 2012-07-18 07:41:32

回答

0

您可以將它們全部解包到同一個目錄中並將它們重新打包。

你可以得到反編譯器,它將.class文件轉化爲.java文件,但我不知道哪些將結合javadocs。如果它對您很重要,您可能必須手動執行此操作。

我原以爲沒有他們的許可分發第三方庫的來源是壞主意

+0

如果你將它們全部解壓到單個目錄,那麼有很多像index.html,overview-summary.html等文件將會相互覆蓋。 我尋找反編譯器(使用javadoc評論)的原因不是分發第三方庫資源,但至少我可以合併生成的源文件併爲單個鏡頭創建單個javadoc以用於整個源文件。 – Syam 2012-07-18 07:22:19

+0

我明白你在說什麼了。我不知道自動執行此操作的方法。 – 2012-07-18 07:32:07

0

我認爲最好的辦法是下載所有三個庫的源代碼,將所有源代碼放入一個IDE projcet(NetBeans,Eclipse ...),然後從那裏生成文檔。反編譯.class文件,然後將它們與java文檔結合起來似乎是一個壞主意。由於javadocs是從源生成的,所以將所有三個項目組合起來應該是最簡單的。這表示它可能會是一個相當的工作。

另一種選擇是從兩個庫中取出相關的位(文件夾)並將它們複製到第三個的根目錄(首先解壓縮javadocs jar)。例如Java 6 SE這些文件夾將是java,javaxorg。這些包含實際的文檔文件,其餘的僅僅是鏈接和框架以及其他html管道。從那裏你可以創建一個腳本,通過其他兩個庫的類層次結構,並將它們添加到第三個庫的html管道。雖然這將比僅從組合源重新生成文檔的工作多得多。

+0

唯一的問題是我沒有這些庫的來源。 – Syam 2012-07-18 07:43:51

1

我想這樣做,這個問題鼓勵我走得更遠。

我發現,爲我工作的解決方案:

  1. 反編譯所有的類文件有編譯源文件。有幾個反編譯器可用(請參閱this question)。我首先嚐試了Java Decompiler,但是它產生了太多的語法錯誤。我這樣做是在南河然後,只產生了猜測參數名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文件夾。