[英]How to get value of {@docroot} in a com.sun.javadoc.Taglet?
我正在編寫一個自定義標簽,以便在javadoc html文件中包含mathML文件。 我想將所有* .mml文件存儲在同一文件夾中,可能在
{@docroot}/doc-files
夾。 我的問題是:如何知道Taglet對象中的@docRoot字符串的值(更具體地說,是toString(com.sun.javadoc.Tag tag)
方法的值?
我還需要在我的javadoc中顯示MathML。 我在這里寫了一篇有關如何解決它的博客文章: http : //chadretz.wordpress.com/2010/12/19/mathml-inside-javadoc-using-mathjax-and-a-custom-taglet/
但是,更具體地講,如果您查看我在此處發布的Taglet源代碼(默認情況下已折疊),則可以看到我從哪里獲得Tag.holder()的頂級ClassDoc來獲取我所在的目錄深度我可以走過去。 如果您需要相對的HTML根目錄,這會有所幫助。 如果您在運行Taglet時需要了解MML的位置,建議您將其放在類路徑中,並作為資源進行訪問。
從@ChadRetz的博客中的getPackageDoc
函數開始,我創建了一個實用程序類,其中包含一個滿足您期望的功能:給定com.sun.javadoc.Tag
,它從其隨附文件(包含標簽)到JavaDoc根目錄-這等效於{@docRoot}
。
該類稱為ComSunJavaDocUtil
,函數名稱為getRelativeUrlToDocRoot
。
一個示例標記的toString()
函數:
public String toString(Tag tag) {
return "Relative url to DOC ROOT for this tag's enclosing file is \"" +
ComSunJavaDocUtil.getRelativeUrlToDocRoot(tag) + "\"";
}
該實用程序類是Codelet的一部分。 安裝說明在這里 。 如果您將只使用該實用程序類,則類路徑上唯一需要的jar是codelet
和xbnjava
...,當然還有com.sun.javadoc
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.