Doclava是Google的自定义Javadoc Doclet,由Google Guice使用(请参阅稍冷的 Javadocs )。
Doclava使用JSilver作为其模板引擎,这是Clearsilver的纯Java实现。
我个人喜欢联合文档的想法,它允许文档在打开的项目上相互链接和集成。
这是Doclava与标准Doclet之间的主要区别:
- 刷新后的外观,包括搜索功能。
- 将版本信息嵌入文档中。
- 使用模板引擎进行用户自定义。
- 为容易捕获的内容引发构建错误,例如与参数名称不匹配的@param标记。
- 能够包含来自真实源代码的代码片段
- 多个站点之间的联合文档。
- 能够将Javadocs嵌入更大的网页中。
将Doclava与Javadoc结合使用
-doclet com.google.doclava.Doclava -docletpath ${jar.file}
将Doclava与Ant结合使用
<project>
...
<target name="doclava" depends="jar">
<javadoc packagenames="com.google.*"
destdir="build/docs"
sourcepath="src"
docletpath="${jar.file}"
bootclasspath="${javahome}/jre/lib/rt.jar"
>
<doclet name="com.google.doclava.Doclava">
<param name="-stubs" value="build/stubs" />
<param name="-hdf"/> <param name="project.name"/> <param name="Doclava"/>
<!-- versioning -->
<param name="-since"/> <param name="doclava/previous.xml"/> <param name="v1" />
<param name="-apiversion" value="v2"/>
<!-- federation -->
<param name="-federate" /><param name="JDK"/>
<param name="http://download.oracle.com/javase/6/docs/api/index.html?"/>
<param name="-federationxml"/><param name="JDK"/>
<param name="http://doclava.googlecode.com/svn/static/api/openjdk-6.xml"/>
</doclet>
</javadoc>
</target>
</project>
在Maven中使用Doclava
<project>
...
<build>
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.7</version>
<configuration>
<docletArtifact>
<groupId>com.google.doclava</groupId>
<artifactId>doclava</artifactId>
<version>1.0.3</version>
</docletArtifact>
<doclet>com.google.doclava.Doclava</doclet>
<!--
| bootclasspath required by Sun's JVM
-->
<bootclasspath>${sun.boot.class.path}</bootclasspath>
<additionalparam>
-quiet
-federate JDK http://download.oracle.com/javase/6/docs/api/index.html?
-federationxml JDK http://doclava.googlecode.com/svn/static/api/openjdk-6.xml
-hdf project.name "${project.name}"
-d ${project.build.directory}/apidocs
</additionalparam>
<useStandardDocletOptions>false</useStandardDocletOptions>
<!--
| Apple's JVM sometimes requires more memory
-->
<additionalJOption>-J-Xmx1024m</additionalJOption>
</configuration>
</plugin>
</plugins>
</build>
</project>
改进的标签
Doclava支持一些额外的标签,例如@undeprecate(非常不言自明),@ hide(从文档中删除),@ include $ filePath(包括文件中的文本),@ sample(包括文件中的示例)和一些其他标签。 。 请在此处查看完整列表。
客制化
而且,如果您对旧的Javadoc外观感到厌倦,可以自定义Doclava的输出。 有关更多信息,请单击此处 。
参考: Doclava:来自我们的JCG合作伙伴Felipe Oliveira的 Google自定义Javadoc Doclet 。
相关文章:
翻译自: https://www.javacodegeeks.com/2011/03/doclava-custom-javadoc-doclet-from.html