javadoc 生成自定义的标签
转自:http://www.blogjava.net/lishunli/archive/2010/01/12/309218.html
关键词
个性化地生成Javadoc文档,svn eclipse 设置属性 svn:keywords -TortoiseSVN,李顺利,
Javadoc 自定义标记,javadoc tag,javadoc version 自动增加,发布到google code
Eclipse,javadoc,语言,编码,自定义标记,乱码,版本,自动增加,sccs,svn:keywords ,设置属性,模板,google code, SCCS,VM options,
前言
这一段时间在研究Javadoc的问题,前面发布的Javadoc转换chm帮助文档的四种方法总结,总结了如何实现Javadoc到chm的转换,希望给大家带来了一些方便,今天我们来说说如何利用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>
这样就会生成如下效果
自定义标记
在注释的时候,Eclipse中有默认的标记,像@author、@version等,都是以@打头,现在我们要生成自己的标记。
查看JDK中Javadoc命令的帮助文档可以知道(进入cmd敲javadoc –help)
知道需要使用-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)
一般我个人认为都使用,选择a,header就是在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的时候尽量写个.号,不用管这句话了。
生成的效果:
上面整个在VM Options你们设置的语句如下:
-locale en_US -encoding UTF-8 -charset UTF-8 -tag notes:a:"Notes:"
设置版本的自动增加
你在做项目的时候,是不是想使用一个@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.
意思就是我们要使用SCCS(Source Code Control System),它会随着SCCS的chedked out增长变化,但是自己没有深入地接触SCCS,查了一些资料就放弃走这条道了。后来想想自己使用了SVN,看能不能借用SVN。网上的资料很多,开始绕了很多弯,不知道搜索什么,后来找到,就是设置一下SVN中的svn:keywords属性。
我一开始在Eclipse中找到了设置属性的地方,但是有问题,请看:
设置单个文件的属性,右键选择项目,下图就有设置属性
属性名:输入svn:keywords,输入文本属性为Id Revision Date Author(说一下,以前的LastChangedDate、LastChangedBy、LastChangedRevision在SVN1.5里面不在使用,SVN1.5以后使用Date、Revision、Author、HeadURL、Id五个svn:keywords属性,请参考SVN BOOK和SVN的版本自行修改书写),下面有个红色的警告:属性不能应用与文件夹(说明svn:keywords仅能使用在文件上面),不过没关系选择递归,打上勾就可以了。
这个对已经提交到服务器上面的是没有问题,但是新建的文件就没有上面的属性了,不建议大家使用这种方法,这种方法仅适用于需要对单个文件设置属性。
下面就说一下如何对所有的文件进行配置,那当然需要对SVN的配置文件进行设置(不使用TortoiseSVN等服务器配置)。
如何的找到svn的config配置文件?
网上有高手介绍如下:
对于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
如果你使用的是Windows,Eclipse和Subclipse 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前后效果如下
发布Javadoc到Googel Code上
发布Javadoc到Googel Code上的意思就是能够通过网址访问到Javadoc,主要还是配置SVN的配置文件,
config文件也是可以的,在最后[auto-props]语句下面添加语句:
# 发布Javadoc到Google 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,找到刚发布Javadoc的index.html,复制链接
再到Googel Code 的Administrator里有个link,输入上面复制的网址,到您Googel Code首页就可以看到下面的链接
javadoc 生成自定义的标签的更多相关文章
- javadoc 生成帮助文档时,注意以下几点
参考:http://www.w3school.com.cn/tags/tag_pre.asp javadoc 生成帮助文档时,注意以下几点: 1.函数功能描述的结尾一定要有句号,英文句号或中文句号均可 ...
- 编写 Dockerfile 生成自定义镜像
一般情况下我们可以从公共渠道诸如 DockerHub 获取镜像上获取镜像,但是在实际生产过程中,往往需要定制化的镜像,例如修改一些配置文件,增加一些特殊的命令或软件等需求,这时就需要通过编写 Dock ...
- 使用自定义tld标签简化jsp的繁琐操作
最近做一个树形结构的展示,请求目标页面后,后台只返回简单的List,虽然有想过在jsp页面内做一些操作简化,但是太繁琐了,其他的标签又不能满足需求,所以只能自己做一个.使用tld标签可以简化jsp代码 ...
- excel 作图中次横坐标及次纵坐标的调试,以及excel自定义轴标签的步骤方法
在工作中除了要做一些常用的图表之外,不时还会有一切奇怪图表的制作需求. 今天的内容主要记录的是如何对excle图表的次横坐标及次纵坐标进行调试,以及如何自定义调整轴标签 首先看下如何做次纵坐标,工作中 ...
- 自定义JSP标签库及Properties使用
自定义JSP标签库及Properties使用 自定义JSP标签 自定义JSP标签技术是在JSP 1.1版本中才出现的,它支持用户在JSP文件中自定义标签,这样可以使JSP代码更加简洁. 这些可重用的标 ...
- 基于Spring的可扩展Schema进行开发自定义配置标签支持
一.背景 最近和朋友一起想开发一个类似alibaba dubbo的功能的工具,其中就用到了基于Spring的可扩展Schema进行开发自定义配置标签支持,通过上网查资料自己写了一个demo.今天在这里 ...
- node生成自定义命令(yargs/commander)
第一部分可以生成一个自定义命令,例如常见的”express”,yargs和commander则可以在生成的自定义命令上做扩展,yargs将命令扩展成类似express --l xx的形式;而comma ...
- 自定义JSTL标签和函数库
一.自定义JSTL标签 1.编写标签处理类: (1)实现 SimpleTag 接口,通过 setJspContext()方法可以获取到 jspContext 对象,实际上也是 pageContext ...
- 通过用 .NET 生成自定义窗体设计器来定制应用程序
通过用 .NET 生成自定义窗体设计器来定制应用程序 https://www.microsoft.com/china/MSDN/library/netFramework/netframework/Cu ...
随机推荐
- 软件工程(C编码实践篇)总结
陆伟丹 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程http://mooc.study.163.com/course/USTC-1000002006 对软件工程 ...
- Linux连接Internet
Linux连接Internet 1. Linux网卡 1.1 查看内核所扑捉到的网卡信息(已经安装到服务器并且被Linux内核识别的网卡) [root@www ~]# dmesg | grep -in ...
- QAbstractItemView::setRootIndex(const QModelIndex & index) 失效
问题: 在逻辑中使用了, QAbstractItemView::setRootIndex(const QModelIndex & index), 第一次设置生效, view 进入了model ...
- 调度系统任务创建---创建一个JoinTrigger的依赖任务(五)
有时候我们需要创建一个任务,这个任务有多个下游任务,在所有下游任务执行成功后再触发一个join操作. 这种场景可以使用JoinTrigger的触发器来实现. 该场景对应的拓扑结构如下: 该触发器的详细 ...
- 使用扫描二维码打开app
应该不少人遇到过这种需求,扫描二维码打开app如果用户没有这个app则提示它跳转. 用网页直接来调用app是不打可能的,必须原生那边先做一些配置. 首先,安卓和苹果的调用方法是不同的. 所以我们需要先 ...
- NHibernate Query
1) Sql Group by .... 之前是这么写的,因为DateTime是YYYY-MM-DD HH:mm:SS 模式,我只想group 日期.这种写法再mysql,sqlserver.orac ...
- Css 备忘知识点
1.Chrome 中文界面下默认会将小于 12px 的文本强制按照 12px 显示,可通过加入 CSS 属性 -webkit-text-size-adjust: none; 2.HTML5的form如 ...
- FFmpeg官方文档之————先进音频编码(AAC)
先进音频编码(AAC)的后继格式到MP3,和以MPEG-4部分3(ISO / IEC 14496-3)被定义.它通常用于MP4容器格式; 对于音乐,通常使用.m4a扩展名.第二最常见的用途是在MKV( ...
- Deep Learning 18:DBM的学习及练习_读论文“Deep Boltzmann Machines”的笔记
前言 论文“Deep Boltzmann Machines”是Geoffrey Hinton和他的大牛学生Ruslan Salakhutdinov在论文“Reducing the Dimensiona ...
- GNS3 IOU 配置
GNS3使用视频: http://edu.51cto.com/lesson/id-25295.html GNS3 IOU 与VM http://www.mamicode.com/info-detail ...