用Doxygen生成源代码文档

来源:互联网 发布:淘宝旺旺手机版2016 编辑:程序博客网 时间:2024/04/29 22:04

doxygen是用于从java源代码生成技术文档的工具,有些类似javadoc,但是比javadoc界面要漂亮许多,而且配合graphviz,可以生成带UML图表的文档。

 

doxygen可以通过ant插件集成到ant构建任务中,这样可以通过ant构建任务自动从最新的源代码中生成最新的文档。

看一下效果图吧:

 

Doxygen官网地址:http://www.stack.nl/~dimitri/doxygen/index.html

 

这么漂亮的文档时如何生成的呢?

 

一。安装

需要安装三个工具

1.graphviz linux安装参考http://hanqunfeng.iteye.com/blog/869293

2.doxygen linux安装参考http://hanqunfeng.iteye.com/blog/874154

3.doxygen的ant插件

前两个工具在windows下都有安装包,一步一步安装就行,linux安装参考所给连接即可。

 

这里只介绍第三个工具的安装,实际上就是一个ant的插件。

 

官网地址:http://sourceforge.net/projects/ant-doxygen/

目前最新版本为1.6.1

 

下载后解压即完成安装:

Java代码  收藏代码
  1. tar -zxvf ant-doxygen-bin-1.6.1.tgz --directory=ant-doxygen  

 

其实我们要用到的就是ant-doxygen/lib/ant_doxygen.jar

 

二。编写ant任务

Xml代码  收藏代码
  1. <!-- ant-doxygen lib包路径 -->  
  2.     <property name="ant_doxygen.lib" location="${ant_doxygen.home}/lib" />  
  3.     <!-- doxygen路径 -->  
  4.     <property name="ant_doxygen.dir" location="${reports.dir}/doxygen" />  
  5.   
  6. <taskdef name="doxygen" classname="org.doxygen.tools.DoxygenTask" classpath="${ant_doxygen.lib}/ant_doxygen.jar"/>  
  7.           
  8.         <target name="doxygen">  
  9.             <delete dir="${ant_doxygen.dir}" />  
  10.             <mkdir dir="${ant_doxygen.dir}" />  
  11.             <doxygen>  
  12.                 <property  name="PROJECT_NAME" value="${ant.project.name}" />  
  13.                 <property  name="PROJECT_NUMBER" value="0.1" />  
  14.                 <property  name="OUTPUT_DIRECTORY" value="${ant_doxygen.dir}" />  
  15.                 <property  name="JAVADOC_AUTOBRIEF" value="YES" />  
  16.                 <property  name="TAB_SIZE" value="4" />  
  17.                 <property  name="OPTIMIZE_OUTPUT_JAVA" value="YES" />  
  18.                 <property  name="INPUT" value="${src.dir}" />  
  19.                 <property  name="RECURSIVE" value="YES" />  
  20.                 <property  name="HAVE_DOT" value="YES" />  
  21.                 <property  name="UML_LOOK" value="YES" />  
  22.                 <property  name="CLASS_GRAPH" value="YES" />  
  23.                 <property  name="COLLABORATION_GRAPH" value="YES" />  
  24.                 <property  name="GROUP_GRAPHS" value="YES" />  
  25.                 <property  name="DIRECTORY_GRAPH" value="YES" />  
  26.                 <property  name="SHOW_DIRECTORIES" value="YES" />  
  27.                 <property  name="SOURCE_BROWSER" value="YES" />  
  28.                 <property  name="STRIP_CODE_COMMENTS" value="NO" />  
  29.                 <property  name="GENERATE_LATEX" value="NO" />  
  30.                 <property  name="GENERATE_TREEVIEW" value="YES" />  
  31.             </doxygen>  
  32.         </target>  

 

以上配置基本上可以保证生成一个比较完整的文档,关于各个属性的介绍,可以参考如下地址:

http://hi.baidu.com/zkheartboy/blog/item/8ed283cae6a06c80c8176858.html

 

执行这个ant任务即可自动生成文档。

 

三。后记

doxygen生成的文档确实比javadoc生成的文档要漂亮许多,而且可以生成uml图表,不过javadoc配合UmlGraph,也可以生成uml图表,而且通过UmlGraph还支持外部api的导航。不过doxygen比较强的的地方是其对注释格式的简单要求,以及可以在文档中显示源代码,使文档更加完成。

 

关于UmlGraph的介绍可以参考http://hanqunfeng.iteye.com/blog/869576

 

两个工具各有优势,可依据具体情况进行选择。

原创粉丝点击