[英]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.