多模块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文档了

自定义路径

这个功能一般不会用到,只是顺便看了一下,就写下来吧。

在这里需要叨念两句关于约定优于配置,在最初我用Maven的时候,就看到过这样的话,Maven目录可以不这样设置么?可以,你可以自己改。

只能说我们在大部分时候,是不需要改这个,但不意味着我们在做的时候就可以把这个做死,这样于用户,于今后的维护来说,都不是一个好的选择。

两句叨念完了,现在来看怎么设置吧:

<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>

说明:

1.reportOutputDirectory是说的路径

2.destDir是说的目标文件夹

到这里Maven多模块下使用javadoc插件生成JavaDoc文档过程中遇到的问题就都解决了。

多模块Maven项目如何使用javadoc插件生成文档,布布扣,bubuko.com

时间: 2024-10-11 16:33:43

多模块Maven项目如何使用javadoc插件生成文档的相关文章

&lt;转&gt;创建支持eclipse的多模块maven项目

如何使用eclipse创建Maven工程及其子模块 1,首先创建一个父类工程   子模块继承父类工程      并在父类工程的pom.xml文件中定义引入的jar及其版本号     子模块可以引用 2  创建api子模块,主要放置SDK 3  创建server  子模块 主要存放配置文件   不包括源代码 创建工程完成 创建支持eclipse的多模块maven项目 通过maven可以创建多个关联模块的项目(Multiple Module Projects).由一个总的模块,下面包含多个子模块(子

用jenkins生成文档:No plugin found for prefix &#39;javadoc&#39; in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories

最近,研究jenkins,使用jenkins权威指南书中的示例项目:gameoflife.在使其生成javadoc时,发生了生成失败,消息是 No plugin found for prefix 'javadoc' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories 书的版本比较旧,我下的时最新稳定

使用eclipse生成文档(javadoc)主要有三种方法:

使用eclipse生成文档(javadoc)主要有三种方法: 1,在项目列表中按右键,选择Export(导出),然后在Export(导出)对话框中选择java下的javadoc,提交到下一步. 在Javadoc Generation对话框中有两个地方要注意的: javadoc command:应该选择jdk的bin/javadoc.exe destination:为生成文档的保存路径,可自由选择. 按finish(完成)提交即可开始生成文档. 2,用菜单选择:File->Export(文件->

使用文档生成器Doxygen为c#项目生成文档

文档生成器--Doxygen 一.简介 Doxygen是一种开源跨平台的,以类似JavaDoc(java开发环境自带的API文档生成工具)风格描述的文档系统,完全支持C.C++.Java.Objective-C和IDL语言,部分支持PHP.C#.注释的语法与Qt-Doc.KDoc和JavaDoc兼容.Doxgen可以从一套归档源文件(根据文件的形成规律和特点,保持文件之间的有机联系,区分不同价值,便于保管和利用的文件整理.)开始,生成HTML格式的在线类浏览器,或离线的LATEX.RTF参考手册

创建支持eclipse的多模块maven项目

通过maven可以创建多个关联模块的项目(Multiple Module Projects).由一个总的模块,下面包含多个子模块(子模块还可以包含子模块).这种maven功能能支持大型的项目构建,往往大型项目由很多子模块组成. 以下说明在eclipse下如何创建多模块的maven项目. 创建总的POM mvn archetype:create -DgroupId=com.easymorse.marshal -DartifactId=multi-modules-demo 创建一个maven项目,然

Intellij IDEA13 创建多模块Maven项目

目标:构建一个类似于如下图所示的这种结构的Maven项目. 首先,需要选中“File”——>“New Project”如下图所示 选中“Maven”,设置项目名称与项目构建地址,点击“Next” 设置GroupId,ArtifactId,Version属性值点击“Finish”.这样Maven项目的父级项目即创建完成了,我们来看看这个时候的pom文件内容是什么? 接下来我们要进一步构建其子模块MavenProject-impl了.如下图所示,选中项目右击鼠标“New”——>“Module” 此

多模块maven项目使用Eclipse的 AspectJ编绎期织入

Aspectj是Eclipse基金会下的子项目,AspectJ提供了两种方式实现切面代码织入 编绎期织入:分为三种情况 编绎class文件时织入 编绎后织入 类加载时织入 运行时织入 本文是在使用编绎class文件织入实践介绍 aspectJ提供了两种切面的实现方式 基于.aj文件描述 基于java注解 以下介绍是基于java注解 在单模块项目中使用AspectJ的编绎期织入特性时,只需要在pom文件加入aspectj依赖和aspectj编绎插件即可: <properties> <asp

eclipse maven项目中使用tomcat插件部署项目

maven的tomcat插件部署web项目,我简单认为分两种,一种是部署到内置tomcat,另一种是部署到安装的tomcat. 第一种部署,默认是部署在内置tomcat的8080端口,如果不需要改端口及其他设置,完全可以不用在pom中配置tomcat插件 如果需要改端口,可参考如下配置: <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId&g

从svn上检出威尼斯人网站开发多模块maven项目

一.SVN上Maven多威尼斯人网站开发模块项目结构 haozbbs.comQ1446595067 使用eclipse导入SVN上的Maven多模块项目 Maven多模块项目所在SVN目录 二.eclipse通过SVN导入到工作空间 工作空间位于F:/HPCWorkspace 2.1 File->Import,选择从SVN检出项目下载 2.2 选择/新建SVN资源库位置 如果资源库还没创建好,选择创建新的资源库位置,如果已经创建好资源库了,那么选择使用现有的资源库位置下载 不存在的话新建 存在的