`

用Doxygen生成源代码文档-引用

阅读更多

引用说明:原文来自于  http://www.iteye.com/topic/874927 ,为了方便本人阅读,文本格式略有调整。

 

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  
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 >   
<!-- ant-doxygen lib包路径 -->
	<property name="ant_doxygen.lib" location="${ant_doxygen.home}/lib" />
	<!-- doxygen路径 -->
	<property name="ant_doxygen.dir" location="${reports.dir}/doxygen" />

<taskdef name="doxygen" classname="org.doxygen.tools.DoxygenTask" classpath="${ant_doxygen.lib}/ant_doxygen.jar"/>
		
		<target name="doxygen">
			<delete dir="${ant_doxygen.dir}" />
			<mkdir dir="${ant_doxygen.dir}" />
			<doxygen>
				<property  name="PROJECT_NAME" value="${ant.project.name}" />
				<property  name="PROJECT_NUMBER" value="0.1" />
				<property  name="OUTPUT_DIRECTORY" value="${ant_doxygen.dir}" />
				<property  name="JAVADOC_AUTOBRIEF" value="YES" />
				<property  name="TAB_SIZE" value="4" />
				<property  name="OPTIMIZE_OUTPUT_JAVA" value="YES" />
				<property  name="INPUT" value="${src.dir}" />
				<property  name="RECURSIVE" value="YES" />
				<property  name="HAVE_DOT" value="YES" />
				<property  name="UML_LOOK" value="YES" />
				<property  name="CLASS_GRAPH" value="YES" />
				<property  name="COLLABORATION_GRAPH" value="YES" />
				<property  name="GROUP_GRAPHS" value="YES" />
				<property  name="DIRECTORY_GRAPH" value="YES" />
				<property  name="SHOW_DIRECTORIES" value="YES" />
				<property  name="SOURCE_BROWSER" value="YES" />
				<property  name="STRIP_CODE_COMMENTS" value="NO" />
				<property  name="GENERATE_LATEX" value="NO" />
				<property  name="GENERATE_TREEVIEW" value="YES" />
			</doxygen>
		</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

 

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

 

分享到:
评论

相关推荐

    doxygen-1.8.9.1-setup.zip

    Doxygen是由Hans van der Meer开发的一个源代码文档系统,它的核心功能是解析源代码中的注释,生成专业级别的文档。这不仅减轻了程序员手动编写文档的负担,也确保了文档与源代码的一致性。Doxygen支持多种编程语言...

    Doxygen_源代码文档自动生成器的使用笔记.pdf

    google 上搜了很久的关于 Doxygen 使用方法的咚咚,只不过都是英文,而且都很多的规则。实际上大家只需要告诉基本的规则就可以。下面是我对 Doxygen 的摸索 首先熟知 Doxygen 产生的文件的基本结构

    用doxygen+graphviz自动化生成代码文档

    "用doxygen+graphviz自动化生成代码文档"是一个高效的方法,能够帮助开发者节省时间并提高工作效率。本文将详细介绍doxygen和graphviz这两个工具,以及如何结合它们来自动化地创建高质量的代码文档。 **Doxygen** ...

    doxygen生成样例.7z

    doxygen是一款强大的源代码文档生成器,广泛用于各种编程语言,尤其是C、C++和C#。 【描述】提到的内容揭示了doxygen的主要功能和用途。首先,它能够处理C语言的代码,解析头文件和源文件,从中提取出函数、类、...

    windows下使用doxygen为C C++程序生成中文文档

    windows下使用doxygen为C C++程序生成中文文档 1.html文件讲解怎么使用 2.需要的一些工具 3.所需要的批处理文件 步骤: 1.阅读 使用doxygen为C/C++程序生成中文文档html文件 2.安装doxygen.rar,graphviz.rar ...

    Python库 | doxygen_junit-2.2.0-py3-none-any.whl

    Doxygen是一款强大的源代码文档生成工具,支持多种编程语言,包括C、C++、C#、Java等。JUnit则是Java世界中广泛使用的单元测试框架,但在Python环境中,我们通常会使用如unittest或pytest这样的测试框架。`doxygen_...

    Doxygen 文档生成工具

    这些标记将帮助Doxygen生成结构化的文档,让读者能快速理解代码功能和使用方式。 此外,Doxygen还支持输入和输出多种格式,如HTML用于网页浏览,PDF用于打印和离线阅读,XML用于进一步处理,以及CHM(Windows帮助...

    doxygen-1.9.7-C++文档

    `doxygen` 是一个流行的开源文档生成工具,专为程序员设计,用于自动生成项目源代码的文档。它支持多种编程语言,包括 C++,并能解析注释,生成易于理解和维护的文档。`doxygen-1.9.7` 版本是这一工具的最新迭代,为...

    Doxygen最新版,给源代码生成文档的利器

    Doxygen最新版,给源代码生成文档的利器,支持多种编程语言!

    doxygen-report-maven-plugin:生成 Doxygen API 文档的 Maven 报告插件

    Doxygen是一款广泛使用的源代码文档生成工具,而doxygen-report-maven-plugin则是与Maven集成,用于自动化生成Doxygen API文档的插件。本文将详细介绍如何使用这个插件,以及其背后的原理和实践应用。 首先,让我们...

    doxygen套件(代码自动生成工具)

    **doxygen**是一款强大的源代码文档生成工具,广泛应用于C++、C、C#、Java、Python等编程语言。它能够自动从源代码中提取注释,并生成结构化的专业文档,帮助开发者理解和维护代码库。doxygen不仅仅适用于个人开发者...

    利用Doxygen生成C++、Java文档

    它能够自动生成源代码的API文档,帮助开发者理解和使用代码库。Doxygen的强大在于它可以解析源代码中的注释,通过特定的注释格式(如C++的`///`或Java的`/** */`),自动构建出结构化的文档,包括类图、协作图、继承...

    doxygen-1.6.1和graphviz-2.24安装程序

    **doxygen** 是一款强大的源代码文档生成工具,它能够自动从C++、C、Java、Python等众多编程语言的源代码中提取文档。在软件开发过程中,良好的文档是至关重要的,doxygen可以帮助开发者轻松地创建专业级别的API文档...

    doxygen代码文档生成工具

    **doxygen代码文档生成工具** Doxygen是一款强大的开源文档生成工具,主要面向C++,但同时也支持其他编程语言,如C、C#、Java、Python等。它通过解析源代码中的注释,自动生成结构化的专业文档,帮助开发者理解和...

    Doxygen配置(翻译)-ASP教程,ASP应用

    - **交叉引用**:开启`source_browser`,可以在生成的文档中查看源代码,方便查找函数、类和变量的定义及使用。 除此之外,还有许多其他配置选项,如设置文档语言、生成HTML、PDF或其他格式的文档,控制输出样式,...

    Windows平台下Doxygen+GraphViz+HtmlHelp自动生成函数调用关系图.pdf

    Doxygen是一个文档生成工具,它可以分析源代码中的注释,并据此生成相应的文档。Graphviz是一个图形可视化软件,它可以用来绘制各种图形,例如函数调用关系图。HtmlHelp是一个帮助文件生成器,可以将生成的文档转换...

    doxygen帮助文档生成工具

    1. **自动文档生成**:Doxygen能自动识别和解析源代码结构,如类、函数、枚举、变量等,生成对应的文档页面。 2. **图表生成**:包括类图、继承图、协作图等,帮助理解项目中类与类之间的关系。 3. **自定义输出...

    doxygen1.5.5 c++ 文档生成器

    3. **自动文档更新**:当源代码发生变化时,Doxygen可以自动检测并更新文档,确保文档始终与代码同步。 4. **多语言支持**:除了C++,Doxygen还支持C、C#、Java、Python等语言,甚至可以处理Fortran、PHP、IDL等...

    【最新版】Doxygen-1.8.18.dmg【亲测可用】最好的从源代码生成文档

    该文档是直接从源代码中提取的,这使得使文档与源代码保持一致变得容易得多。 您可以配置 doxygen从未记录的源文件中提取代码结构。这对于在大型源代码发行版中快速找到您的方式非常有用。Doxygen还可以通过包括依赖...

Global site tag (gtag.js) - Google Analytics