Javadoc代码追踪记录
1、javadoc源代码:
svn co http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-javadoc-plugin
2、安装到本地仓库
mvn clean install -Dmaven.test.skip
3、在其他的工程中使用该版本
【注意】这个非常重要,否则可能出现使用的不是该版本的现象,调试起来代码行对应不上。例如:
- <plugin>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>2.8.1-SNAPSHOT</version>
- </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的编写作用不大。

浙公网安备 33010602011771号