2012-01-02 67 views
6

我正在使用BlueJ,我想生成我的整個項目的Javadoc。 我想在Javadoc上顯示私有方法,有沒有辦法做到這一點? BlueJ有一個使Javadoc工具,但BlueJ忽略私有方法。 只是一個約定?如果這是一個慣例,我不明白爲什麼,他們忽略了「內部」方法,它們也是有用的.- *JAVADOC私有方法(BlueJ)

回答

5

This link表明BlueJ將只爲公共方法和類生成JavaDocs。 具體做法是:

你的輸出將只包含關於公共方法和變量

信息。然而,根據本bug report鏈接到Andrew Thompson's answer,看來這已被固定在BlueJ的1.1.5版本

。實際上,根據BlueJ Reference Manual的第9.8節,您可以指定,確切地說通過編輯doctool.options屬性來運行JavaDoc工具時可以使用哪些選項。

似乎有3個屬性控制文檔生成的行爲:

  • doctool.command:控制什麼命令用於生成文檔,並且通過默認值設置爲javadoc
  • doctool.outputdir:其中生成控制文檔保存,默認設置爲doc
  • doctool.options:控制傳遞給javadoc.command指定的命令的其他命令行選項,並且默認設置爲到-author –version –nodeprecated –package。請注意,通過將-package替換爲-private,您可以記錄所有方法。

一般來說,由於Javadoc工具是一個命令行程序,你可以簡單地自己在命令行的是這樣稱呼它:

$ javadoc -d \path\to\output\folder -sourcepath \path\to\source\folder -private 

注意,此命令假定javadoc是包含在PATH環境變量中,這在大多數Java安裝中通常都是這樣。

  • -d選項提供所需的輸出目錄
  • -sourcepath選項告訴javadoc工具在哪裏可以找到源代碼文件
  • -private選項告訴javadoc工具爲所有班級創建文檔,成員和方法(因爲私有是最受限制的可見性)

控制JavaDoc將記錄成員的選項的完整列表是:

  • -public - 只顯示公共類和成員。
  • -protected - 只顯示protected和public類及成員。這是默認設置。
  • -package - 只顯示包,protected和public類及成員。
  • -private - 顯示所有類和成員。

EDIT(從JavaDoc Documentation兩者)​​0: 更新答案由Andrew Thompson

+0

感謝您的信息,很好地組織;)非常有趣的鏈接你把Javadoc&BlueJ,非常有用! – Thorba 2012-01-02 00:55:48

+0

感謝您的反饋和接受的答案:) – chrisbunney 2012-01-02 00:58:56

3

通常按照慣例,人們不會在Javadoc中放置私有方法,因爲Javadoc是爲了某人消耗你的代碼。由於他們無法訪問私有方法,因此爲這些讀者記錄它們是沒有意義的。

然而,Javadoc工具有一個標誌,啓用此:

javadoc -private 

將產生JavaDoc的私有方法。我不確定BlueJ是如何處理這件事的,但也許你可以通過一面旗幟或其他東西。

+0

非常感謝,我不知道我可以在控制檯上使用javadoc,就像一個命令,我是一個新手:( – Thorba 2012-01-02 00:54:18

+1

除非那個人使用你的代碼是另一個開發人員必須維護/擴展你最初編寫的代碼;) – chrisbunney 2012-01-02 01:01:36

+0

@chrisbunney然後,這些方法不應該是私人的,如果他們打算被擴展或使用的子類。在維護的情況下,他們擁有代碼並可以讀取其Javadoc格式的註釋,但他們不會使用HTML格式的Javadoc。我們不是在談論留下評論,只是不把它們放在Javadoc通常創建的API文檔中。但我明白你的觀點! – Todd 2012-01-02 13:34:28

3

在接受的答案納入敗露新的信息的鏈接是寫了一篇文章從那以後,很多事情發生了變化。

E.G.搜索'bluej + javadocs'前5個鏈接的鏈接包括一個鏈接,指向allow inclusion of private methods in javadoc的臭蟲報告。說明中提到:

化妝的javadoc參數用戶自定義(在bluej.defs),以便用戶必須選擇包含文檔

在私有方法是也提到:

Resolution:  FIXED 

注:我不使用BlueJ的,但不得不去打獵的時候,我聽到了令人難以置信的答案,一個主要IDE已經沒有能力提供這樣的SIMPL的配置東西。

+0

我從來沒有聽說過的BlueJ的,所以我真的沒多想,爲+1比我:)更徹底狩獵 – chrisbunney 2012-01-02 14:04:42