李顺利
随笔-50  评论-170  文章-0  trackbacks-0

如何个性化地生成Javadoc文档

V1.0

李顺利

2010112

目录

目录... 1

关键词... 1

前言... 1

生成工具... 2

如何个性... 2

个性分解... 2

语言... 2

编码... 2

链接... 2

自定义标记... 3

设置版本的自动增加... 4

生成模板... 8

发布JavadocGoogel Code... 8

参考网站... 9

学习探讨... 10

 

 

关键词

个性化地生成Javadoc文档,svn eclipse 设置属性 svn:keywords -TortoiseSVN,李顺利,

Javadoc 自定义标记,javadoc tagjavadoc version 自动增加,发布到google code

Eclipsejavadoc,语言,编码,自定义标记,乱码,版本,自动增加,sccssvn:keywords ,设置属性,模板,google code, SCCSVM options

 

前言

这一段时间在研究Javadoc的问题,前面发布的Javadoc转换chm帮助文档的四种方法总结,总结了如何实现Javadocchm的转换,希望给大家带来了一些方便,今天我们来说说如何利用Eclipse生成个性化的Javadoc 文档,也希望大家支持。

 

生成工具

Eclipse自带的导出为Javadoc功能,不使用cmd下的javadoc命令。

 

如何个性

会从语言、编码、链接、自定义标记、设置版本的自动增加(并引申Eclipse下如何设置SVN中的svn:keywords属性)几个方面来个性你的Javadoc文档。

 

个性分解

语言

如何设置生成的Javadoc默认语言?

         解决方案在Eclipse导出Javadoc后面的配置VM options中加入-locale en_US,但是此时注意的是,如果把-locale en_US设置在后面的话,会报一个错误,大致是-locale en_US javadoc命令必须是在最前面,默认如果不写-locale的话,安装locale语言来进行设置,当然我们中国人就是中文的了。(当然如果你工程默认编码是GBK而且您想生成中文的帮助文档的话,这写都可以不要,使用默认即可)。

 

编码

Java代码编写的使用有的使用GBK,有的使用UTF-8,这个时候就会有区别。使用GBK编码的时候生成Javadoc文档时没有太大问题的,但是,要是整个项目的默认编码格式是UTF-8的话,就会报警告:编码 GBK 的不可映射字符,根本没有成功生成Javadoc文档,如何解决?解决方案就是在生成Javadoc的时候对VM options进行编码设置-encoding UTF-8 -charset UTF-8

(详情请看Javadoc转换chm帮助文档的四种方法总结预处理部分)

 

链接

如何使生成的Javadoc在注释的时候有链接?大家要知道,生成的Javadoc文档默认是html格式的,当然可以使用html标记语言来写一个链接,实际上很简单,看我如何操作。

@author <a href="http://www.blogjava.net/lishunli/" target="_blank">ShunLi</a>

这样就会生成如下效果

clip_image001

 

自定义标记

在注释的时候,Eclipse中有默认的标记,像@author@version等,都是以@打头,现在我们要生成自己的标记。

查看JDKJavadoc命令的帮助文档可以知道(进入cmdjavadoc –help

clip_image003

知道需要使用-tag,其中name属性就是你自定义标记的名称,locations官方上有以下解释

Placement of tags - The Xaoptcmf part of the argument determines where in the source code the tag is allowed to be placed, and whether the tag can be disabled (using X). You can supply either a, to allow the tag in all places, or any combination of the other letters:

X (disable tag)
a (all)
o (overview)
p (packages)
t (types, that is classes and interfaces)
c (constructors)
m (methods)
f (fields)

一般我个人认为都使用,选择aheader就是在Javadoc中显示的标题。整个命令差不多就是这样的:-tag created:a:"Created:"

* 自定义标记

@notes Created on 2010-1-12

这样在生成Javadoc的时候就不会有报未定义的标记的警告了,但是在生成Javadoc的时候还是多了一句话:

Note: Custom tags that could override future standard tags:  @notes. To avoid potential overrides, use at least one period character (.) in custom tag names.

意思差不多就是你定义的自定义标记有可能会被Sun以后用的,请在定义name的时候尽量写个.号,不用管这句话了。

生成的效果:clip_image004

上面整个在VM Options你们设置的语句如下:

-locale en_US -encoding UTF-8 -charset UTF-8 -tag notes:a:"Notes:"

clip_image005

设置版本的自动增加

         你在做项目的时候,是不是想使用一个@version的标记,但是我们也不能写死了,不然每次都是@version V1.0什么的,是不是想它能够根据我们修改文件后能够自动增加或者赋值。上网搜了很多,没有一个能实用的,后来还是在官网上找了一点

@version     (reference page)

The Java Software convention for the argument to the @version tag is the SCCS string "%I%, %G%", which converts to something like "1.39, 02/28/97" (mm/dd/yy) when the file is checked out of SCCS.

意思就是我们要使用SCCSSource Code Control System),它会随着SCCSchedked out增长变化,但是自己没有深入地接触SCCS,查了一些资料就放弃走这条道了。后来想想自己使用了SVN,看能不能借用SVN。网上的资料很多,开始绕了很多弯,不知道搜索什么,后来找到,就是设置一下SVN中的svn:keywords属性。

         我一开始在Eclipse中找到了设置属性的地方,但是有问题,请看:

设置单个文件的属性,右键选择项目,下图就有设置属性

clip_image007

属性名:输入svn:keywords,输入文本属性为Id Revision Date Author说一下,以前的LastChangedDateLastChangedByLastChangedRevisionSVN1.5里面不在使用,SVN1.5以后使用DateRevisionAuthorHeadURLId五个svn:keywords属性,请参考SVN BOOKSVN的版本自行修改书写),下面有个红色的警告:属性不能应用与文件夹(说明svn:keywords仅能使用在文件上面),不过没关系选择递归,打上勾就可以了。

clip_image008

这个对已经提交到服务器上面的是没有问题,但是新建的文件就没有上面的属性了,不建议大家使用这种方法,这种方法仅适用于需要对单个文件设置属性。

下面就说一下如何对所有的文件进行配置,那当然需要对SVN的配置文件进行设置(不使用TortoiseSVN等服务器配置)。

如何的找到svnconfig配置文件?

网上有高手介绍如下:

对于Windows xp用户,每个用户的config文件一般都能在如下路径中找到:

C:\Documents and Settings\<Your_LoginName>\Application Data\Subversion\config

对于Windows vista /7 用户,每个用户的config文件一般都能在如下路径中找到:

C:\Documents and Settings\< Your_LoginName >\ AppData\Roaming\Subversion\config
(注意:有可能你的AppData为隐藏的,请去除隐藏后查找)

我的config配置文件路径为:"C:\Users\Administrator\AppData\Roaming\Subversion\config"

%APPDATA% 是对应你的"Application Data"目录的环境变量。将如下语句复制到任何Explorer窗口的地址栏中,最终将会直接打开上述例子中的文件夹,而无需在意Windows所使用的版本和语言。

%APPDATA%\Subversion\config

如果你使用的是WindowsEclipseSubclipse Plugin以及JavaHL系结(可能还包括JavaSVN系结,不过我没有进行过亲测)的话,用此方法查找config文件也是可以的。

找到后用记事本打开,在最后[auto-props]语句下面添加语句:

*.java = svn:keywords=Id Revision Date Author

*.xml = svn:keywords=Id Revision Date Author

#默认开启自动属性

[miscellany]

enable-auto-props = yes

# 结束

好了,自动属性已经设置完毕,那么如何使用了?

* <p>

 * <li>Test svn:keywords</li>

 * $Id$

 * <br>

 * $Revision$: Revision of last commit

 * <br>

 * $Author$: Author of last commit

 * <br>

 * $Date$:Date of last commit

 * <br>

注意:使用自动属性的格式为$属性名$,其中属性名请按照配置书写,不要写错也不要多空格,不然SVN服务器解析不能

Commit到服务器上,自动修改后的结果如下:

* <p>

 * <li>Test svn:keywords</li>

 * $Id: JavadocTest1.java 521 2010-01-12 08:30:18Z XXX@gmail.com $

 * <br>

 * $Revision: 521 $: Revision of last commit

 * <br>

 * $Author: XXX@gmail.com $: Author of last commit

 * <br>

 * $Date: 2010-01-12 16:30:18 +0800 (周二, 12 一月 2010) $:Date of last commit

 * <br>

上面的Date不想是中文的话,可以设置Eclipse的默认语言。

 

生成模板

上面的操作也仅限对单个文件,如果我们想保留我们的个性化,那当然使用使用模板了

选择Eclipse -> Preferences -> Java -> Code Style -> Code Templates -> Comments ->Types 后点击Edit,修改模板,本人修改的模板如下:

/**

 *

 * @author <a href="http://www.blogjava.net/lishunli/" target="_blank">${user}</a>

 * @notes Created on ${date}<br>

 *        Revision of last commit:$$Revision$$<br>

 *        Author of last commit:$$Author$$<br>

 *        Date of last commit:$$Date$$<br>

 *        <p>

 */

注意:上面的环境是在Eclipse中已经成功配置SVN后才能有效。

每次commit前后效果如下

clip_image010

clip_image012

发布JavadocGoogel Code

发布JavadocGoogel Code上的意思就是能够通过网址访问到Javadoc,主要还是配置SVN的配置文件,

config文件也是可以的,在最后[auto-props]语句下面添加语句:

# 发布JavadocGoogle Code

*.txt = svn:mime-type=text/plain

*.html = svn:mime-type=text/html

*.css = svn:mime-type=text/css

*.png = svn:mime-type=image/png

*.jpg = svn:mime-type=image/jpeg

# 结束

生成Javadoc发布到Googel Code,找到刚发布Javadocindex.html,复制链接

clip_image014

再到Googel Code Administrator里有个link,输入上面复制的网址,到您Googel Code首页就可以看到下面的链接

clip_image015

Links:

李顺利博客

Javadoc

Blogs:

李顺利博客

 

参考网站

How to Write Doc Comments for the Javadoc Tool(英文,适用于Java 5 6

Javadoc - The Java API Documentation Generator

使用Subversion进行版本控制svnbook

Subversion(SVN)版本控制的操作技巧

SVN使用详解之如何设置svn:keywords

Gallery:使用Subversion

如何让subversion自动添加Id,Revisionkeywords

HOWTO: Publish Javadoc on Google Code

Subversion中的关键字替换

总结:Svn自动属性设置

 

学习探讨

如果有什么建议或意见可以通过Q506817493  Eleeshunli@qq.com,大家一起交流学习。

 

提供一些配置和参考文件的下载

clip_image017

 

顺利写于2010112

 



博客中的一些下载已经放到了百度云了,请根据需要下载。【点我去百度云下载】

最后弱弱地说一下,如果可以的话,转载请提供出处( ),谢谢。
posted on 2010-01-12 18:42 李顺利 阅读(11108) 评论(1)  编辑  收藏

评论:
# re: 如何个性化地生成Javadoc文档 2013-07-30 17:29 | maven
楼主写的这个文章对我帮助太大了,今天正好用到,参考了博主的方法,解决了很多问题,现在还有一个问题,关于“设置版本的自动增加”楼主说了svn的方法,如果我采用的是maven,如何通过maven进行版本的自动增加呢?
  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: