暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Maven javadoc插件使用

Coding On Road 2019-04-14
5302

1、IDEA中使用maven-javadoc插件生成文档

生成文档,可以帮助我们,快速的给第三方提供帮助的能力。

IDEA中可以使用maven javadoc插件,生成javadoc文档。

首先,官方学习地址为:

http://maven.apache.org/plugins/maven-javadoc-plugin/

 

1、添加插件依赖

<plugin>    

<groupId>org.apache.maven.plugins</groupId> 

   <artifactId>maven-javadoc-plugin</artifactId> 

   <version>3.1.0</version>

</plugin>

 

2、解决打包时中文乱码问题

1、配置环境变量

在本地windowslinux下配置环境变量:

JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8

       如在windows上可以如下配置:

 

 

2、maven插件配置参数

maven插件添加配置参数,这些参数,在官方上都找到对应的功能。

http://maven.apache.org/plugins/maven-javadoc-plugin/javadoc-mojo.html

具体配置如下:首先在pom.xml文件中添加属性配置:

<properties>     

 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

</properties>

然后在maven javadoc的配置中添加编译参数:

<configuration>       

 <charset>${project.build.sourceEncoding}</charset>   

<!--以下默认值即为project.build.sourceEncoding-->        

<docencoding>${project.build.sourceEncoding}</docencoding>  

</configuration>

目前为止,完整的插件配置如下:

<plugin>   

 <groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-javadoc-plugin</artifactId>

    <version>3.1.0</version>

    <configuration> 

       <charset>${project.build.sourceEncoding}</charset> 

       <!--以下默认值即为project.build.sourceEncoding-->        

<docencoding>${project.build.sourceEncoding}</docencoding>

    </configuration>

</plugin>

 

 

3、非标准javadoc注释的处理

默认情况下,maven javadoc只处理标准javadoc注释,如以下的@author,@version都是java的标准注释

/** * 测试类 * @author wj * @version 1.0 2019-04-14 */

public class SpringCoreApp {}

 

但是如果在类上,存在非标准的javadoc注释,如@date

/** * 测试类 

* @author wj 

* @version 1.0 2019-04-14 

* @date 2019-04-14 22:12:23  注意这儿是非标准javadoc注释 */

public class SpringCoreApp {}

 

则此时在使用maven javadoc生成javadoc文档时,将会出现以下异常:

运行:

 

异常:

错误未知标记: date

[ERROR]  * @date 2019-04-14 22:12:23

 

通过添加doclint=none对非标准的注释进行忽略:

<!--忽略非标准javadoc注释-->

<doclint>none</doclint>

 

完整的maven javadoc插件配置如下:

<plugin>

    <groupId>org.apache.maven.plugins</groupId>

    <artifactId>maven-javadoc-plugin</artifactId>

    <version>3.1.0</version>

    <configuration>

        <charset>${project.build.sourceEncoding}</charset>

        <!--以下默认值即为project.build.sourceEncoding-->        

<docencoding>${project.build.sourceEncoding}</docencoding>

        <!--忽略非标准javadoc注释-->        

<doclint>none</doclint>

    </configuration>

</plugin>

 

此时再执行文档生成将只会显示警告:

SpringCoreApp.java:9: 警告 - @date是未知标记。

 

关于doclint的更具体说明如下:

By default, the -Xdoclint option is enabled. Disable it with the option -Xdoclint:none.

Change what the -Xdoclint option reports with the following options:

-Xdoclint

none : disable the -Xdoclint option

-Xdoclint

group : enable group checks

-Xdoclint

all : enable all groups of checks

-Xdoclint

all,-group : enable all except group checks

(参考官方文档:https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javadoc.html#BEJEFABE)

 

doclint=none还会忽略方法上没有@paramjava doc注释,如,以下是一个正常规范的方法注释,这个注释对参数名称做了完整的说明:

/** * 保存彩票信息 

* @param name 

* @param age 

*/

public void doInsertDises(String name,String age){}

 

但是如果删除@param注释,并删除<doclint>none</doclint>的配置。将会导致编译出错:[ERROR]\SpringCoreApp.java:13: 警告: name没有 @param

[ERROR]\SpringCoreApp.java:13: 警告: age没有 @param

 

现在我们依然保持方法上没有@param注释,即:

/** 

* 保存彩票信息 

*/

public void doInsertDises(String name,String age){}

 

但我们添加<doclint>none</doclint>的配置,此时,将会生成文档成功:

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time:  3.715 s

 

 

可见,规范的代码开发,非常重要,可是,对于目前国内,开发不规范的情况下,添加doclint=none还是很有必要的。


 

 

 


文章转载自Coding On Road,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论