Как я могу генерировать Javadocs с использованием Java? - PullRequest
7 голосов
/ 10 августа 2011

Я пишу приложение Java, которое позволит мне скомпилировать проект Java на основе исключительно его файловой структуры , чтобы я мог писать код и компилировать без IDE. Проблема, с которой я сейчас сталкиваюсь, заключается в том, что я хотел бы автоматически генерировать Javadoc во время компиляции, хотя, хотя Java 6 предоставляет объект JavaCompiler для работы, я не могу найти способ использовать команду Javadoc.

Как я могу сгенерировать javadoc html для своих проектов, используя код Java?

Ответы [ 5 ]

7 голосов
/ 10 августа 2011

На тот случай, если вы не знали, что и Apache Ant и Apache Maven - это инструменты, которые существуют для достижения цели, аналогичной той, которую вы пишете (компиляция без IDE).

Оба они имеют встроенную поддержку для генерации Javadoc. Синтаксис Ant выглядит следующим образом:

<!-- publish javadoc -->
<target name="javadoc" description="Creates javadoc for IMP.">
      <delete dir="${web-javadoc}"/>
      <javadoc sourcepath="${source}"
               defaultexcludes="no"
               destdir="${web-javadoc}"
               author="true"
               version="true"
               use="true"
               windowtitle="IMP: Integrated Mechanisms Program"
               overview="${source}/overview.html"
               classpathref="debug.classpath"
               stylesheetfile="${javadoc-theme}/stylesheet.css"
       />

       <copy file="${javadoc-theme}/javadoc.jpg" tofile="${web-javadoc}/javadoc.jpg"/>
</target>

Если вы действительно хотите сгенерировать его самостоятельно, вы должны использовать Doclet API

import com.sun.javadoc.*;

public class ListClass {
    public static boolean start(RootDoc root) {
        ClassDoc[] classes = root.classes();
        for (int i = 0; i < classes.length; ++i) {
            System.out.println(classes[i]);
        }
        return true;
    }
}
5 голосов
/ 10 августа 2011

В терминале введите javadoc - он даст вам хороший список опций.Самый простой:

javadoc -d your_output_directory -classpath your_classpath -sourcepath your_sourcefile_dir
5 голосов
/ 10 августа 2011

Инструмент Javadoc имеет программный интерфейс с открытыми методами для вызова инструмента Javadoc из другой программы, написанной на языке Java. Эти методы расположены в классе com.sun.tools.javadoc.Main в lib/tools.jar.

От: http://download.oracle.com/javase/6/docs/technotes/guides/javadoc/standard-doclet.html#runningprogrammatically

1 голос
/ 10 августа 2011

См. Программный запуск стандартного доклета в инструментальных документах.

0 голосов
/ 10 августа 2011

Существует команда javadoc, она поставляется с JDK (man javadoc на платформах unix)

Однако есть и лучшие способы. Как вы компилируете код? Если вы используете инструмент автоматической сборки, такой как ant или maven, вы можете добавить задачу javadoc для автоматической генерации javadocs при компиляции вашего кода

http://ant.apache.org/manual/Tasks/javadoc.html

для получения дополнительной информации о ant (другие инструменты имеют аналогичную функциональность, обратитесь к документации по вашему инструменту для получения дополнительной информации)

Это то, что я делаю, это прекрасно работает.

...