如何使用Java生成javadoc?

时间:2011-08-10 00:00:58

标签: java javadoc

我正在编写一个Java应用程序,它可以让我根据它的文件结构编译一个Java项目,这样我就可以编写代码并在没有IDE的情况下编译。我目前遇到的问题是我想在编译时自动生成javadoc,但是当Java 6提供JavaCompiler对象时,我找不到使用javadoc命令的方法。 / p>

如何使用Java代码为我的项目生成javadoc html?

5 个答案:

答案 0 :(得分:7)

万一你不知道Apache AntApache 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;
    }
}

答案 1 :(得分:5)

  

Javadoc工具具有一个编程接口,该接口具有公共方法,用于从另一个用Java语言编写的程序调用Javadoc工具。这些方法位于com.sun.tools.javadoc.Main中的lib/tools.jar类。

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

答案 2 :(得分:5)

在终端中输入javadoc - 它会为您提供一个很好的选项列表。最简单的:

javadoc -d your_output_directory -classpath your_classpath -sourcepath your_sourcefile_dir

答案 3 :(得分:1)

请参阅工具文档中的Running the Standard Doclet Programmatically

答案 4 :(得分:0)

有一个javadoc命令,它带有JDK(unix平台上的man javadoc)

然而,有更好的方法。你是如何编译代码的?如果您使用的是自动构建工具(如ant或maven),则可以添加一个javadoc任务,以便在编译代码时自动生成javadoc

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

有关ant的更多信息(其他工具具有类似功能,请参阅工具文档以获取更多信息)

这就是我所做的,它的工作非常出色。