我正在编写一个Java应用程序,它可以让我根据它的文件结构编译一个Java项目,这样我就可以编写代码并在没有IDE的情况下编译。我目前遇到的问题是我想在编译时自动生成javadoc,但是当Java 6提供JavaCompiler对象时,我找不到使用javadoc命令的方法。 / p>
如何使用Java代码为我的项目生成javadoc html?
答案 0 :(得分:7)
万一你不知道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;
}
}
答案 1 :(得分:5)
Javadoc工具具有一个编程接口,该接口具有公共方法,用于从另一个用Java语言编写的程序调用Javadoc工具。这些方法位于
com.sun.tools.javadoc.Main
中的lib/tools.jar
类。
答案 2 :(得分:5)
在终端中输入javadoc
- 它会为您提供一个很好的选项列表。最简单的:
javadoc -d your_output_directory -classpath your_classpath -sourcepath your_sourcefile_dir
答案 3 :(得分:1)
答案 4 :(得分:0)
有一个javadoc命令,它带有JDK(unix平台上的man javadoc)
然而,有更好的方法。你是如何编译代码的?如果您使用的是自动构建工具(如ant或maven),则可以添加一个javadoc任务,以便在编译代码时自动生成javadoc
http://ant.apache.org/manual/Tasks/javadoc.html
有关ant的更多信息(其他工具具有类似功能,请参阅工具文档以获取更多信息)
这就是我所做的,它的工作非常出色。