Как получить значение {@docroot} в теге com.sun.javadoc.Taglet? - PullRequest
1 голос
/ 02 ноября 2010

Я пишу пользовательский тег для включения файла mathML в html-файл javadoc.Я хотел бы хранить все мои файлы * .mml в одной папке, возможно, в папке

{@docroot}/doc-files

.Мой вопрос: как я могу узнать значение строки @docRoot в объекте Taglet (точнее, в методе toString(com.sun.javadoc.Tag tag)? Большое спасибо!

Ответы [ 2 ]

1 голос
/ 19 декабря 2010

Мне также нужно было отобразить MathML в моем javadoc.Я написал сообщение в блоге о том, как решил эту проблему, здесь: http://chadretz.wordpress.com/2010/12/19/mathml-inside-javadoc-using-mathjax-and-a-custom-taglet/

Более конкретно к вашей проблеме, хотя, если вы посмотрите на исходный код Taglet, который я разместил там (по умолчанию свернут), вы можете увидеть, где яполучить ClassDoc верхнего уровня Tag.holder (), чтобы получить глубину каталога, в которой я нахожусь, чтобы я мог пройти вверх.Это помогает, если вам нужен относительный корень HTML.Если вам нужно знать местоположение ваших MML во время работы Taglet, я предлагаю вам поместить их в путь к классам и обращаться к ним как к ресурсам.

0 голосов
/ 30 апреля 2014

Начиная с функции getPackageDoc из @ блога ChadRetz , я создал служебный класс, содержащий функцию, которая делает то, что вы хотите: учитывая com.sun.javadoc.Tag, он возвращает относительный URL из его вложенный файл (файл, содержащий этот тег) в корневой каталог 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 . Инструкции по установке: здесь . Если этот служебный класс - это все, что вы собираетесь использовать, то единственными банками, которые вам нужны на вашем пути к классам, являются codelet и xbnjava ... и, конечно, com.sun.javadoc.

...