我正在编写一个自定义标记器,用于在javadoc html文件中包含mathML文件。我想将我所有的*.mml文件存储在同一个文件夹中,可能是在
{@docroot}/doc-files文件夹。我的问题是:如何知道标记对象中@docRoot字符串的值(更具体地说,在toString(com.sun.javadoc.Tag tag)方法中?非常感谢!
发布于 2010-12-19 16:14:46
我还需要在我的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的位置,我建议您将它们放在类路径中,并将它们作为资源进行访问。
发布于 2014-04-30 05:00:25
从@ChadRetz's blog中的getPackageDoc函数开始,我创建了一个实用程序类,其中包含一个您希望执行的函数:给定一个com.sun.javadoc.Tag,它将其封闭文件(包含该标记的文件)中的相对url返回到JavaDoc根目录--这相当于{@docRoot}。
这个类名为ComSunJavaDocUtil,函数名为getRelativeUrlToDocRoot。
一个taglet的toString()函数示例:
public String toString(Tag tag) {
return "Relative url to DOC ROOT for this tag's enclosing file is \"" +
ComSunJavaDocUtil.getRelativeUrlToDocRoot(tag) + "\"";
}此实用程序类是Codelet的一部分。安装说明为here。如果这个实用程序类是您要使用的全部,那么您的类路径上唯一需要的jars就是codelet和xbnjava...and,当然还有com.sun.javadoc。
https://stackoverflow.com/questions/4079268
复制相似问题