簡體   English   中英

如何在com.sun.javadoc.Taglet中獲取{@docroot}的值?

[英]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是codeletxbnjava ...,當然還有com.sun.javadoc

暫無
暫無

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

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