扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
你说的应该是生成javadoc吧?
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、网站建设、新吴网络推广、微信平台小程序开发、新吴网络营销、新吴企业策划、新吴品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供新吴建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
最简单方式就是使用命令行, cd到你的项目源代码目录下, 输入如下指令:
javadoc -d docs -subpackages com.yourpackage
其中-d docs指定了生成的javadoc在相对目录docs下, -subpackages com.yourpackage指定了你要被生成javadoc的源代码包.
JAVADOC是官方提供的一种生成注释文档的工具, 他的用法如下:
用法: javadoc [options] [packagenames] [sourcefiles] [@files]
-overview file 从 HTML 文件读取概览文档
-public 仅显示 public 类和成员
-protected 显示 protected/public 类和成员 (默认值)
-package 显示 package/protected/public 类和成员
-private 显示所有类和成员
-help 显示命令行选项并退出
-doclet class 通过替代 doclet 生成输出
-docletpath path 指定查找 doclet 类文件的位置
-sourcepath pathlist 指定查找源文件的位置
-classpath pathlist 指定查找用户类文件的位置
-cp pathlist 指定查找用户类文件的位置
-exclude pkglist 指定要排除的程序包列表
-subpackages subpkglist 指定要递归加载的子程序包
-breakiterator 计算带有 BreakIterator 的第一个语句
-bootclasspath pathlist 覆盖由引导类加载器所加载的
类文件的位置
-source release 提供与指定发行版的源兼容性
-extdirs dirlist 覆盖所安装扩展的位置
-verbose 输出有关 Javadoc 正在执行的操作的信息
-locale name 要使用的区域设置, 例如 en_US 或 en_US_WIN
-encoding name 源文件编码名称
-quiet 不显示状态消息
-Jflag 直接将 flag 传递到运行时系统
-X 输出非标准选项的提要
通过标准 doclet 提供:
-d directory 输出文件的目标目录
-use 创建类和程序包用法页面
-version 包含 @version 段
-author 包含 @author 段
-docfilessubdirs 递归复制文档文件子目录
-splitindex 将索引分为每个字母对应一个文件
-windowtitle text 文档的浏览器窗口标题
-doctitle html-code 包含概览页面的标题
-header html-code 包含每个页面的页眉文本
-footer html-code 包含每个页面的页脚文本
-top html-code 包含每个页面的顶部文本
-bottom html-code 包含每个页面的底部文本
-link url 创建指向位于 url 的 javadoc 输出的链接
-linkoffline url url2 利用位于 url2 的程序包列表链接至位于 url 的文档
-excludedocfilessubdir name1:.. 排除具有给定名称的所有文档文件子目录。
-group name p1:p2.. 在概览页面中, 将指定的程序包分组
-nocomment 不生成说明和标记, 只生成声明。
-nodeprecated 不包含 @deprecated 信息
-noqualifier name1:name2:... 输出中不包括指定限定符的列表。
-nosince 不包含 @since 信息
-notimestamp 不包含隐藏时间戳
-nodeprecatedlist 不生成已过时的列表
-notree 不生成类分层结构
-noindex 不生成索引
-nohelp 不生成帮助链接
-nonavbar 不生成导航栏
-serialwarn 生成有关 @serial 标记的警告
-tag name:locations:header 指定单个参数定制标记
-taglet 要注册的 Taglet 的全限定名称
-tagletpath Taglet 的路径
-charset charset 用于跨平台查看生成的文档的字符集。
-helpfile file 包含帮助链接所链接到的文件
-linksource 以 HTML 格式生成源文件
-sourcetab tab length 指定源中每个制表符占据的空格数
-keywords 使程序包, 类和成员信息附带 HTML 元标记
-stylesheetfile path 用于更改生成文档的样式的文件
-docencoding name 指定输出的字符编码
/步骤
先看默认状态的吧,新建类文件时,是不生成注释的
在
windows--preferenceJava--Code Style--Code Templatescode--new Java file
编辑文件为7的样式,(为了方便起见,中间分布截图说明,熟悉的朋友直接跳到7)
对于中文版本
窗口--首选项
java--代码样式--代码模板
代码--新的java文件
菜单栏,窗口——首选项
找到java选项--代码样式
注释--新生成的java文件
直接编辑配置文件
在配置文件中间添加注释代码,这部分可以自定义,参考如下,关键字解释见后文10
${filecomment}${package_declaration}/** * @author 作者 E-mail: * @date 创建时间:${date} ${time} * @version 1.0 * @parameter * @since * @return */${typecomment}${type_declaration}
现在新建文件将自动生成注释
eclipse设置创建一个java文件后自动加入注释的方法:
1、通过菜单 Window-Preference 打开参数设置面板,然后选择:
Java - Code Style - Code Templates
2、在右侧选择Comments,将其中的Files项,然后选右边的"Edit",进入编辑模式:
3、进入编辑模式后就可以自定义注释了。另外可以插入一些变量,如年、日期等等。
4、最后,确保 Code - New Java files 中有:"${filecomment}"
1、单行(single-line)--短注释://…… 单独行注释:在代码中单起一行注释, 注释前最好有一行空行,并与其后的代码具有一样的缩进层级。如果单行无法完成,则应采用块注释。 注释格式:/* 注释内容 */ 行头注释:在代码行的开头进行注释。主要为了使该行代码失去意义。 注释格式:// 注释内容 行尾注释:尾端(trailing)--极短的注释,在代码行的行尾进行注释。一般与代码行后空8(至少4)个格,所有注释必须对齐。 注释格式:代码 + 8(至少4)个空格 + // 注释内容 2、块(block)--块注释:/*……*/ 注释若干行,通常用于提供文件、方法、数据结构等的意义与用途的说明,或者算法的描述。一般位于一个文件或者一个方法的前面,起到引导的作用,也可以根据需要放在合适的位置。这种域注释不会出现在HTML报告中。注释格式通常写成: /* * 注释内容 */ 3、文档注释:/**……*/ 注释若干行,并写入javadoc文档。每个文档注释都会被置于注释定界符 /**......*/ ...
写代码的时候,有时候,你需要写一些注释,把内容相互关联起来,方便自己或别人看的时候,可以直接找到你关联的代码类或者啥的。
这个时候,{@link}与@see,这2个javadoc注解就派上用场了,
不管他具体有什么功能,咱就只管一个,他可以链接代码,让注释看的更清楚易懂。方便你我他。
@see 标签允许用户引用其他类的文档。具体使用方式如下:
@see classname
@see fully-qualified-classname
@see fully-qualified-classname#方法名称
@see fully-qualified-classname#属性名称
我在使用的时候,发现这个只能单独一行顶头写,如果不顶头写就不管用了,没了链接的效果。
但是,{@link}这个却可以随便放。
具体使用方法和上面那个@see是一样的。
实际效果,看下面的图
import dao.CourseDao;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;//以上 import 为导入的包
public class CourseServlet extends HttpServlet {//CourseServlet 继承HttpServlet
/**
* doGet方法,处理GET请求
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
/**
* doPost方法,处理POST请求
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");//设置内容类型为“text/html”
PrintWriter out = response.getWriter();//获取输出流
String opttype = request.getParameter("opttype");//读取参数"opttype"
String c_no = request.getParameter("c_no");//读取参数"c_no"
if ("queryAll".equals(opttype)) {//判断操作类型
request.getSession().setAttribute("cuslist",
CourseDao.queryallCourse());//绑定参数"cuslist"
response.sendRedirect("admin_pages/course.jsp");//页面跳转到"admin_pages/course.jsp"
}
if ("query".equals(opttype)) {//判断操作类型
request.getSession().setAttribute("cuslist",
CourseDao.queryallCourse(c_no));//绑定参数"cuslist"
response.sendRedirect("admin_pages/course.jsp");//页面跳转到"admin_pages/course.jsp"
}
if ("update".equals(opttype)) {//判断操作类型
request.getSession().setAttribute("c_no", c_no);//绑定参数"cuslist"
request.getSession().setAttribute("cuslist",
CourseDao.queryallCourse());//绑定参数"cuslist"
response.sendRedirect("admin_pages/course.jsp");//页面跳转到"admin_pages/course.jsp"
}
if ("update1".equals(opttype)) {//判断操作类型
String c_time=request.getParameter("c_timexiugai");
CourseDao.updateList(c_no, c_time);//绑定参数"cuslist"
request.getSession().setAttribute("cuslist",
CourseDao.queryallCourse());//绑定参数"cuslist"
response.sendRedirect("admin_pages/course.jsp");//页面跳转到"admin_pages/course.jsp"
}
if ("delete".equals(opttype)) {//判断操作类型
CourseDao.deletelist(c_no);
request.getSession().setAttribute("cuslist",//绑定参数"cuslist"
CourseDao.queryallCourse(c_no));//绑定参数"cuslist"
response.sendRedirect("admin_pages/course.jsp");//页面跳转到"admin_pages/course.jsp"
}
out.close();//关闭输出流
}
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流