当前位置: 首页 > 后端技术 > Java

Java注释转json插件开发实践

时间:2023-04-02 09:44:02 Java

目的将java代码注释转json格式写入文件本文介绍了完整的开发流程以及如何使用运行环境jdk1。里面没有注释,所以只能在编译代码的时候保存注释信息。将能够生成javadoc.json的代码做成maven插件,需要实现关键技术和算法。Doclet必须导入如下jar包才能导入com.sun.javadoc.Docletcom.suntools1.8system/home/zhaozhiwei/applications/jdk1.8.0_181/lib/tools.jar代码路径条目:com.example.Javadoc2JsonMojo#执行生成javadoc.json文件example.CommentToJson(用作maven插件){"com.example.web.rest.PersonResource.findByID(java.lang.Long)#date":"2022/10/25-10:19am","com.example.web.rest.PersonResource#Package":"com/example/springbootcache/controller/PersonController.java","com.example.web.rest.PersonResource.findByID(java.lang.Long)#Description":"根据id获取用户信息","com.example.web.rest.PersonResource.save(Person)#method":"save","com.example.web.rest.PersonResource#author":"zhaozhiwei","com.example.web.rest.PersonResource.deleteByID(java.lang.Long)#Description":"根据id删除人物信息","com.example.web.rest.PersonResource#Title":"PersonController","com.example.web.rest.PersonResource.update(Person)#date":"2022/10/25-10:21AM","com.example.web.rest.PersonResource.save(Person)#Description":"保存方法","com.example.web.rest.PersonResource#Description":"用户信息界面","com.example.web.rest.PersonResource#date":"2022/10/258:23pm","com.example.web.rest.PersonResource.update(Person)#Description":"修改内容看是否会调整缓存",...省略alot}类代码注解规范/***@Title:PersonController*@Package:com/example/springbootcache/controller/PersonController.java*@Description:用户信息接口*@author:zhaozhiwei*@date:2022/10/25pm8:23*@version:V1.0*/方法代码注释规范/***@date:2022/10/25-10:19am*@author:zhaozhiwei*@method:findByID*@paramid:uniqueid*@return:com.lx.demo.springbootcache.domain.Person*@Description:根据id获取用户信息*获取十次,只有第一次是读库,后面都是取缓存*直接删除redis缓存中的内容,依然可以获取到数据,然后去缓存,此时获取到的是服务缓存中的信息ehcache*seq10|xargs-icurl-XGET'http://localhost:8080/persons/2'*/参数定义@parameterextra属性:@parameteralias="":为Mojo参数使用别名@parameterexpression="${aSystemProperty}":使用系统属性表达式来分配mojo参数@parameterdefaultValue="aValue/${anExpression}":提供默认值开发过程项目buildmvnarchetype:generate-DgroupId=com.example-DartifactId=javadoc-json-maven-plugin-DarchetypeArtifactId=maven-archetype-mojo-DinteractiveMode=false使用插件Install执行maveninstall命令javadoc-json-maven-plugin项目安装插件在本地仓库引入自定义插件在其他项目引入插件测试展开插件可以看到Mojo列表,由于项目中只有一个Mojo,并且Mojo的名称指定为generate,注解为@goal,所以只有一个javadoc-json:generatecom.examplejavadoc-json-maven-plugin2.0-SNAPSHOTcom/example/web/rest执行插件双击javadoc-json:generate执行插件。插件执行后可以看到在项目根目录下的target文件下多了一个javadoc.json文件。命令行执行插件(可选)命令格式为mvngroupId:artifactId:version:goal,执行如下命令:mvncom.因为我们的插件命名符合规范,所以上述命令可以简写为:mvnjavadoc-json:generateunresolvedproblemsjavadoc插件去除异常提示参考maven插件开发https://www.jianshu.com/p/9cf...参数定义https://blog.csdn.net/z691837...