UmlGraph可以将由源代码生成的UML图表(这里就是类图)嵌入在javadoc中,这样的好处就是不需要人工维护,每次都是从源代码自动生成。
1.下载UmlGraph的最新包,javadoc用。
官方网站:http://www.umlgraph.org/
下载Graphviz,UmlGraph用,下载安装后要配置环境变量,否则会报错con't run dot。
官网地址:http://www.graphviz.org/
2.在ant中使用UmlGraph很方便,只需要在<javadoc>任务中嵌入<doclet>标签,并使用<param>标签指定参数。
ant中加入target javadoc内容,如下ant property是target需要用到的:
<property name="dist.dir" value="dist" />
<property name="web.dir" value="web" />
<property name="build.class.dir" value="build" />
<property name="src.dir" value="src/java" />
<property name="javac.encoding" value="utf-8" />
<property name="project.version" value="1.0.0" />
<property name="resource" value="src/resource" />
<property name="reports.javadoc.dir" value="src/report" />
<property name="compile.classpath" value="web/WEB-INF/lib" />
<path id="project.class.path">
<fileset dir="${lib.dir}" includes="**/*.jar" />
</path>
<!-- 生成javadoc -->
<target name="javadoc" depends="compile" description="javadoc run">
<echo message="javadoc run" />
<delete dir="${reports.javadoc.dir}" />
<mkdir dir="${reports.javadoc.dir}" />
<javadoc sourcepath="${src.dir}" destdir="${reports.javadoc.dir}" encoding="UTF-8" charset="UTF-8" docencoding="UTF-8" author="true" version="true" use="true" access="private" linksource="true" windowtitle="${ant.project.name} API">
<classpath>
<path refid="project.class.path" />
<pathelement path="${build.class.dir}" />
</classpath>
<doctitle>
<![CDATA[<H1>${ant.project.name}</H1>]]></doctitle>
<bottom>
<![CDATA[<i>Copyright © 2010 All Rights Reseverd.</i>]]></bottom>
<doclet name="org.umlgraph.doclet.UmlGraphDoc" path="E:/logs/UmlGraph-5.5.7-20120528.053308-1.jar">
<param name="-inferrel" />
<param name="-inferdep" />
<!-- 不显示详细日志信息,出问题时可以注释掉 -->
<param name="-quiet" />
<param name="-hide" value="java.*" />
<param name="-collpackages" value="java.util.*" />
<param name="-postfixpackage" />
<param name="-nodefontsize" value="9" />
<param name="-nodefontpackagesize" value="7" />
<param name="-qualify" />
<param name="-attributes" />
<param name="-operations" />
<param name="-enumerations" />
<param name="-enumconstants" />
<!-- 检索生成的html页面时使用的编码,默认为ISO-8859-1,
在向页面中插入图表时需要进行正则匹配,如果要匹配中文需要将其设置为UTF-8
<param name="-outputencoding" value="UTF-8" />
-->
<param name="-types" />
<param name="-visibility" />
<!-- 提供外部javadoc地址,可以直接导航过去 -->
<param name="-link" value="http://download.oracle.com/javaee/6/api/" />
<param name="-link" value="http://static.springsource.org/spring/docs/2.5.x/api/" />
<param name="-link" value="http://docs.jboss.org/hibernate/core/3.6/javadocs/" />
<param name="-link" value="http://logging.apache.org/log4j/1.2/apidocs/" />
</doclet>
</javadoc>
<echo message="javadoc completed!" />
</target>
参考资料:
http://www.umlgraph.org/doc/install.html
http://www.graphviz.org/
http://www.graphviz.org/Download..php