多模块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文档 ...
随机推荐
- 怎样连接REDIS服务端
怎样连接REDIS服务端 REDIS服务器是TCP/IP SERVER,因此客户端要访问,必须先同服务器建立SOCKET连接,然后才可以发送各种REDIS COMMAND(指令). 首先要引用单元文件 ...
- 如何调试 Android 上 HTTP(S) 流量
http://greenrobot.me/devpost/how-to-debug-http-and-https-traffic-on-android/ 如何调试 Android 上 HTTP(S) ...
- Python:Hello World级别的SimpleDb
背景 几乎所有的动态语言都支持成员的动态解析,一般的在解析不到成员的时候会给出一个hook点让你自定义一些有意思的实现..Net4之后增加了对动态类型的支持,在动态类型上就有这种机制. 模拟Simpl ...
- python测试开发django-43.session机制(登录/注销)
前言 当我们登录访问一个网站时,服务器需要识别到你已经登录了,才有相应的权限访问登录之后的页面.用户退出登录后,将无权限访问再访问登录后的页面. 从登录到退出的一整个流程,可以看成是与服务器的一次会话 ...
- Java判断多个时间段是否重叠(重叠区间个数)
import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * 判断多个时间段是否出现重叠 ...
- 深入理解多线程(二)—— Java的对象模型
上一篇文章中简单介绍过synchronized关键字的方式,其中,同步代码块使用monitorenter和monitorexit两个指令实现,同步方法使用ACC_SYNCHRONIZED标记符实现.后 ...
- npm速度过慢的解决方案
因为npm连接的数据源网站太慢,可以使用淘宝提供的npm数据源, npm config set registry https://registry.npm.taobao.org 使用NPM(Node. ...
- git如何删除远端不存在的本地分支?
问题:远端分支删除后,如何删除之前拉取的本地分支? 答案: git fetch -p git remote show origin 可以查看remote地址,远程分支,还有本地分支与之相对应关系等信息 ...
- 使用idea 在springboot添加本地jar包的方法 部署的时候本地jar没有包含的解决方法
需要添加dependency 和resources 否则发布的时候可能会缺少jar <dependency> <groupId>com.sap</groupId> ...
- Spring框架中IoC(控制反转)的原理(转)
原文链接:Spring框架中IoC(控制反转)的原理 一.IoC的基础知识以及原理: 1.IoC理论的背景:在采用面向对象方法设计的软件系统中,底层实现都是由N个对象组成的,所有的对象通过彼此的合作, ...