簡體   English   中英

javadoc @hide 無法工作

[英]javadoc @hide can't work

根據鏈接,我寫了以下代碼:

/**
 * @hide
 * */
public void myMethod() {
    // do something
}

當我使用命令生成文檔時:

$ javadoc -locale en_US -encoding UTF-8 -charset UTF-8 -d doc xxx.java

該文檔仍然有myMethod項目。 那么如何隱藏myMethod呢? 我錯過了什么?

您正在使用Doclava標記,但正在使用標准 doclet 生成 API 文檔。

建設多克拉瓦

Doclava源代碼捆綁了一個 ant 腳本來構建 doclet。 “jar”任務將構建一個包含 Doclava 和所有必要依賴項的 jar。

將 Doclava 與 Javadoc 結合使用

傳遞給 Javadoc 以使用 Doclava 的命令行 arguments 是: -doclet com.google.doclava.Doclava -docletpath ${jar.file}

根據官方Javadoc FAQ ,目前無法直接隱藏公共成員。

有時您可能需要公開一個 class 或方法,以便可以從其他包訪問它,而不是因為您希望它成為公共 API 的一部分。將這些方法出現在文檔中只會讓應用程序開發人員感到困惑。

目前沒有 Javadoc 選項可以從 javadoc 生成的文檔中隱藏、排除或抑制公共成員。

有幾個選項可用:

  • 排除源文件- 您可以只將要記錄的所有類的源文件名傳遞到 javadoc,並排除那些您想要忽略的文件。 請注意,這具有文件的粒度,而不是類的粒度。 因此,如果您排除包含嵌套類的源文件,它們也會被排除。 (您可以將類列表放在命令行參數文件中,而不是直接放在命令行中。)默認的 Javadoc 沒有提供在命令行上傳遞 package 名稱時省略類的方法。
  • 排除個別類- 您可以使用Exclude Doclet 這比以前的選項具有更細的粒度(類而不是源文件),並且使用起來更自然,因為您在文件中明確列出了要排除的文件。
  • 排除類、方法和字段- yDoc Doclet具有此功能,您可以在源代碼中用排除標記標記項目。 此外,歡迎任何人為方法和字段擴展上面的 Exclude Doclet——我們很樂意發布它並將您的名字添加到致謝名單中。

我們正在考慮將 @exclude 作為排除成員的建議標簽。

另請查看建議的 Javadoc 標記頁面以獲取有關@exclude@hide的更多信息。

如下使用@hidden標簽,它在 JDK 9 中引入,也適用於 JDK 17。

class Test {
 /**
  * This is hidden
  * @hidden
  *
  * @param a
  * @param b
  */
 public int add(int a, int b) {
     return a + b;
 }
}

此標簽可以隱藏 java API、變量、構造函數等文檔。

生成 javadoc 的命令
javadoc Test.java

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM