多模块Maven项目如何使用javadoc插件生成文档
版权声明:本文为博主原创文章,未经博主允许不得转载。
需求
最近要对一个项目结构如下的Maven项目生成JavaDoc文档。
Project
|-- pom.xml
|-- Module1
| `-- pom.xml
|-- Module2
| `-- pom.xml
|-- Module3
|-- pom.xml
这个就需要用到本文将要提出的一个Maven插件:javadoc。
基本使用
插件的基本配置很简单:
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>2.9.1</version>
- </plugin>
如果对于一个普通的Maven项目,那么这个配置就可以让你输出一个JavaDoc文档了(使用javadoc:javadoc命令)。
多模块Maven项目
而我们现在是一个多模块的Maven项目,那么就需要一些额外的配置来完成此操作:
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>2.9.1</version>
- <configuration>
- <aggregate>true</aggregate>
- </configuration>
- </plugin>
就是一个aggregate设置为true,就可以让你在父项目运行javadoc:javadoc的时候,就会将子模块的JavaDoc生成在父项目的target下,并且会将其整合成一个JavaDoc。
自定义标签
现在问题来了:
我们的类中的方法注释如下
- /**
- * @author : 张三
- * @group : group
- * @Date : 2014-01-26 21:14:49
- * @Comments : 页面所含操作增删改查的ejb接口
- * @Version : 1.0.0
- */
- public interface IOperationBean {
- /**
- * @MethodName : getOperationByID
- * @Description : 根据Id获得页面所含操作
- * @param ID 页面所含操作ID
- */
- PageOperation getOperationByID(String ID);
- }
而我们在生成JavaDoc后,并没有看到Description和MethodName这两个注解中对应的内容。也就导致了方法的说明不翼而飞了。
经过实验,要想像jdk那样让方法的描述紧跟在方法名后面,是需要这样添加注释的:
- /**
- * 根据Id获得页面所含操作
- * @param ID 页面所含操作ID
- */
- PageOperation getOperationByID(String ID);
已经到了项目后期,现在再让大家去改这些有些说不过去,查了下官网,发现有自定义标签,正好解决的就是这样的问题。
而这次问题的出现,还是源于我们对于JavaDoc生成不熟悉。
废话不多说,直接看例子:
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>2.9.1</version>
- <configuration>
- <aggregate>true</aggregate>
- <tags>
- <tag>
- <name>Description</name>
- <placement>a</placement>
- <head>用途</head>
- </tag>
- </tags>
- </configuration>
- </plugin>
说明:
1.name为你Java代码中的注解的名字
2. placement这个在官网上有8种,我也自己试了下,其实这个就是说你要把哪些(方法、字段、类)上面的注解放到JavaDoc中
3.head,如果不写这个,用的就是name,如果写了,那么显示效果如下:
这样,你就既可以定义自己的注释规范,又可以生成相应的JavaDoc文档了
自定义路径
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>2.9.1</version>
- <configuration>
- <reportOutputDirectory>../myoutput</reportOutputDirectory>
- <destDir>myapidocs</destDir>
- </configuration>
- </plugin>
说明:
多模块Maven项目如何使用javadoc插件生成文档的更多相关文章
- 多模块Maven项目怎样使用javadoc插件生成文档
需求 近期要对一个项目结构例如以下的Maven项目生成JavaDoc文档. Project |-- pom.xml ...
- <转>创建支持eclipse的多模块maven项目
如何使用eclipse创建Maven工程及其子模块 1,首先创建一个父类工程 子模块继承父类工程 并在父类工程的pom.xml文件中定义引入的jar及其版本号 子模块可以引用 2 ...
- 使用eclipse生成文档(javadoc)
使用eclipse生成文档(javadoc)主要有三种方法:1,在项目列表中按右键,选择Export(导出),然后在Export(导出)对话框中选择java下的javadoc,提交到下一步.在Java ...
- 使用Sphinx为你的python模块自动生成文档
Sphinx是一个可以用于Python的自动文档生成工具,可以自动的把docstring转换为文档,并支持多种输出格式包括html,latex,pdf等. 安装 创建一个sphinx项目 下面的命令会 ...
- 使用eclipse生成文档(javadoc)主要有三种方法:
使用eclipse生成文档(javadoc)主要有三种方法: 1,在项目列表中按右键,选择Export(导出),然后在Export(导出)对话框中选择java下的javadoc,提交到下一步. 在Ja ...
- 使用swagger在netcorewebapi项目中自动生成文档
一.背景 随着前后端分离模式大行其道,我们需要将后端接口撰写成文档提供给前端,前端可以查看我们的接口,并测试,提高我们的开发效率,减少无效的沟通.在此情况下,通过代码自动生成文档,这种需求应运而生,s ...
- idea运行javadoc生成文档以及 报错编码gbk的不可映射字符坑
将项目类信息生成文档 idea整合了javadoc的操作,可以一键生成doc文档 方法: 选中你要生成文档的项目 点击上方tools->Generate JavaDoc 运行即可 注意这里有一个 ...
- 第4天 JavaDoc生成文档&Java流程控制(第一节:用户交互Scanner)
JavaDoc生成文档 javadoc命令是用来生成自己的API文档 参数信息: @author 作者名 @version 版本号 @since 指明需要最早使用的jdk版本 @param 参数名 @ ...
- 为Unity项目生成文档(二)
Unity项目生成文档 接着上篇文章:为Unity项目生成文档(一) .Net项目可在VS配置XML 我们可以在VS中通过配置来生成xml文件,但是unity的project,就算同样配置了xml文档 ...
随机推荐
- FFMPEG采集摄像头数据并切片为iPhone的HTTP Stream流
一.Windows下面编译ffmpeg 首先需要解决的问题是:在windows下面编译 ffmpeg, 并让其支持dshow, 本人把ffmpeg编译成功了, 但是编译出来的ffmpeg不支持dsho ...
- <c:otherwise>
<c:if>没有<c:else>可以用<c:choose>来取代结构:<c:choose> <c:when test=""&g ...
- java中Double类数字太大时页面正常显示而不要用科学计数法
/** * 当浮点型数据位数超过10位之后,数据变成科学计数法显示.用此方法可以使其正常显示. * @param value * @return Sting */ public static Stri ...
- Oracle的tnsnames.ora 监听配置文件详解
监听配置文件 为了使得外部进程 如 CAMS后台程序 能够访问 Oracle 数据库 必须配 置 Oracle 网络服务器环境 配置 Oracle 网络服务器环境是通过配置 listener.ora ...
- HTML5学习笔记简明版(8):新增的全局属性
contenteditable属性 不论什么元素使用contenteditable属性的话,代表该元素是一个可编辑的区域. 用户能够改变元素的内容以及操作标记.比如: <p contentedi ...
- 破产姐妹第六季/全集2 Broke Girls迅雷下载
英文全名2 Broke Girls,第6季(2016)CBS. 本季看点:<破产姐妹>第五季季终集达到了收视人数699万收视率1.7.在第五季终集,两姐妹发现Han(马修·摩伊 饰)的生活 ...
- 【机器学习算法-python实现】矩阵去噪以及归一化
1.背景 项目须要,打算用python实现矩阵的去噪和归一化.用numpy这些数学库没有找到非常理想的函数.所以一怒之下自己用标准库写了一个去噪和归一化的算法,效率有点低,只是还能用,大家假设有 ...
- Android 开发:由模块化到组件化(一)
在Android SDK一文中,我们谈到模块化和组件化,现在我们来聊聊组件化开发背后的哪些事.最早是在广告SDK中应用组件化,但是同样适用于普通应用开发 以下高能,请做好心理准备,看不懂请发私信来交流 ...
- android获取屏幕长宽的方法
package com.kale.imageview02; import android.annotation.SuppressLint; import android.app.Activity; i ...
- 如何使用pycharm调试(debug) django的测试用例?
一.django应用或者flask应用的调试: 结合debug模式,在代码处添加断点,即可实现断点调试功能 二. django应用或者flask应用测试用例的调试: 一般django应用的测试用例执行 ...