1、javadoc源代码:

svn co http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-javadoc-plugin

2、安装到本地仓库

mvn clean install -Dmaven.test.skip

3、在其他的工程中使用该版本

【注意】这个非常重要,否则可能出现使用的不是该版本的现象,调试起来代码行对应不上。例如:

   
   
   
   
  1. <plugin> 
  2.             <artifactId>maven-javadoc-pluginartifactId> 
  3.             <version>2.8.1-SNAPSHOTversion> 
  4.         plugin> 

4、在引用工程中,启动调试方式

set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000

再使用mvn javadoc:javadoc运行程序

5、将javadoc源代码导入eclipse中,启用远程调试功能连接处于调试阶段的工程项目

在JavadocReport.java文件中,启动远程调试功能

6、追踪代码

调用顺序:  generate( sink, locale ); -> executeReport( locale );->executeJavadocCommandLine( cmd, javadocOutputDirectory ); 

其中:cmd内容为:cmd.exe /X /C "D:\ProgramFiles\Java\jdk1.6.0_21\jre\..\bin\javadoc.exe @options @packages";javadocOutputDirectory内容为D:\code.sources\qdox.demo01\target\site\apidocs

-> CommandLineUtils.executeCommandLine( cmd, out, err );-> executeCommandLine( cl, null, systemOut, systemErr, 0 );

结论:javadoc采用的拼串的方式,使用javadoc命令完成java帮助文档的生产。它并没有去对java的文件进行语法分析和词法分析的过程,对TC Plugin的编写作用不大。