{"id":15043489,"url":"https://github.com/winroad-net/wrdoclet","last_synced_at":"2025-04-10T00:41:09.717Z","repository":{"id":25281975,"uuid":"28707673","full_name":"WinRoad-NET/wrdoclet","owner":"WinRoad-NET","description":"wrdoclet(问道) is a javadoc doclet that tries to generate API doc for Spring MVC service, JAX-WS service, dubbo service.","archived":false,"fork":false,"pushed_at":"2018-07-07T07:15:19.000Z","size":975,"stargazers_count":26,"open_issues_count":1,"forks_count":10,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-24T02:22:49.113Z","etag":null,"topics":["api-documentation","api-documentation-tool","doclet","docs-generator","document","documentation","java","javadoc","javadoc-doclet"],"latest_commit_sha":null,"homepage":"http://wrdoclet.winroad.net","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WinRoad-NET.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-02T08:23:39.000Z","updated_at":"2024-03-31T14:15:35.000Z","dependencies_parsed_at":"2022-08-24T00:20:27.665Z","dependency_job_id":null,"html_url":"https://github.com/WinRoad-NET/wrdoclet","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WinRoad-NET%2Fwrdoclet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WinRoad-NET%2Fwrdoclet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WinRoad-NET%2Fwrdoclet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WinRoad-NET%2Fwrdoclet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WinRoad-NET","download_url":"https://codeload.github.com/WinRoad-NET/wrdoclet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248137998,"owners_count":21053775,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-documentation","api-documentation-tool","doclet","docs-generator","document","documentation","java","javadoc","javadoc-doclet"],"created_at":"2024-09-24T20:49:08.730Z","updated_at":"2025-04-10T00:41:09.699Z","avatar_url":"https://github.com/WinRoad-NET.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# wrdoclet(问道)\n[![Build Status](https://travis-ci.org/WinRoad-NET/wrdoclet.svg?branch=master)](https://travis-ci.org/WinRoad-NET/wrdoclet)\n\n**使用手册：http://wrdoclet.winroad.net/  ** :(有时需要翻墙)\n\nwrdoclet是基于javadoc doclet的，用来自动化生成接口文档的工具。相比于javadoc自带的doclet，其隐藏了内部实现细节，只暴露调用方需要关心的接口细节。目前主要支持的服务框架是Spring MVC，JAX-WS的SOAP服务，dubbo服务。生成接口文档后还可以与solr、jenkins集成，实现文档搜索以及自动化发布的功能。\n\n因依赖于jdk的tools.jar包，jdk 1.6存在严重bug http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6709246 因此无法支持。目前最新的版本已支持jdk 1.7和1.8。为支持不同版本的jdk，部分代码分拆到另外的独立项目中以方便编译。\n\njdk1.9 https://docs.oracle.com/javase/9/docs/api/jdk/javadoc/doclet/package-summary.html#migration 对doclet这块进行了大规模的重写。因此wrdoclet暂时无法支持jdk1.9。目前正在改造中，敬请期待。\n\nwrdocletbase(https://github.com/WinRoad-NET/wrdocletbase) 是基础模块.\nhtmldoclet4jdk7(https://github.com/WinRoad-NET/htmldoclet4jdk7) 是基于wrdocletbase的针对jdk1.7的模块\nhtmldoclet4jdk8(https://github.com/WinRoad-NET/htmldoclet4jdk8) 是基于wrdocletbase的针对jdk1.8的模块\nwrdoclet 依赖于以上3个模块，在运行时根据运行环境的jdk版本采用不同的模块来生成文档。\n\n**生成的接口文档示例请参见：http://wrdocletdemo.winroad.net/ **\n\n击链接加入群【问道】：https://jq.qq.com/?_wv=1027\u0026k=5p3XY0m\n\nThis doclet tries to generate API doc for Spring MVC service, JAX-WS service, dubbo service.\n\nsupported Spring MVC service example:\n\n\t/**\n\t * 添加一个学生\n\t * @tag 学生管理\n\t * @param student 要添加的学生\n\t * \n\t * @author Adams \n\t * @version 0.0.1 \n\t * @memo 添加接口\n\t * \n\t * @author Bob \n\t * @version 0.0.2 \n\t * @memo fix bug\n\t * \n\t * @return 被添加的学生\n\t * @returnCode 400 404 503\n\t */\n\t@RequestMapping(value = \"/add\", method = RequestMethod.POST)\n\tpublic @ResponseBody\n\tStudent addStudent(@RequestBody Student student) {\n\t\treturn student;\n\t}\t\n\t\n\tpublic class Student extends Person {\n\t\t...\n\t\t\n\t\t/**\n\t\t * @occurs required\n\t\t * @param schoolName 学校名称\n\t\t */\n\t\tpublic void setSchoolName(String schoolName) {\n\t\t\tthis.schoolName = schoolName;\n\t\t}\n\n\t\t/**\n\t\t * @author Bob\n\t\t * @version 0.0.1\n\t\t * @memo 添加学号字段\n\t\t * \n\t\t * @author Adams\n\t\t * @version 0.0.2\n\t\t * @memo 修改为可选字段\n\t\t * @occurs optional\n\t\t * @param sno 学号\n\t\t */\n\t\tpublic void setSno(String sno) {\n\t\t\tthis.sno = sno;\n\t\t}\n\n\t\tprivate String schoolName;\n\t\tprivate String sno;\n\t}\t\n\t\nsupported JAX-WS service example:\n\n\t/**\n\t * 获取用户列表\n\t * @param name 用户名称\n\t * @tag 用户管理， 用户展示\n\t * \n\t * @author Adams\n\t * @version 0.0.1\n\t * @memo init create\n\t * \n\t * @author Bob\n\t * @version 0.0.2\n\t * @memo fix bug\n\t * \n\t * @return 用户列表\n\t */\n\t@WebResult(name = \"getUserResult\")\n\tpublic List\u003cUser\u003e getUserList(@XmlElement(required=false) @WebParam(name = \"name\") String name);\n\t\n\n\tpublic class User {\n\t\tprivate String password;\n\t\t\n\t\t...\n\t\t\n\t\t/**\n\t\t * @return 密码\n\t\t */\n\t\tpublic String getPassword() {\n\t\t\treturn password;\n\t\t}\n\t}\t\n\t\n\t\nsupported dubbo service example:\n\n\tpublic interface DemoService {\n\t\tString sayHello(String name);\n\t}\n\t\n\t\u003cdubbo:service interface=\"net.winroad.dubbo.DemoService\" ref=\"demoService\" /\u003e\n\n\n利用maven-javadoc-plugin插件接入非常方便, 将下面配置添加到pom.xml中的\u003cbuild\u003e\u003cplugins\u003e...\u003c/plugins\u003e\u003c/build\u003e内即可。命令行执行 mvn javadoc:javadoc 即可开始生成接口文档。\n\n\t\u003cplugin\u003e\n\t\t\u003cgroupId\u003eorg.apache.maven.plugins\u003c/groupId\u003e\n\t\t\u003cartifactId\u003emaven-javadoc-plugin\u003c/artifactId\u003e\n\t\t\u003cversion\u003e2.10.3\u003c/version\u003e\n\t\t\u003cconfiguration\u003e\n\t\t\t\u003cdoclet\u003enet.winroad.wrdoclet.HtmlDoclet\u003c/doclet\u003e\n\t\t\t\u003cdocletArtifact\u003e\n\t\t\t\t\u003cgroupId\u003enet.winroad\u003c/groupId\u003e\n\t\t\t\t\u003cartifactId\u003ewrdoclet\u003c/artifactId\u003e\n\t\t\t\t\u003cversion\u003e1.1.5\u003c/version\u003e\n\t\t\t\u003c/docletArtifact\u003e\n\t\t\t\u003cuseStandardDocletOptions\u003efalse\u003c/useStandardDocletOptions\u003e\u003c!-- important ! --\u003e\n\t\t\t\u003cadditionalparam\u003e\n\t\t\t\t-systemname ${wrdoclet.systemname}\n\t\t\t\t-branchname ${wrdoclet.branchname}\n\t\t\t\t-encoding utf-8\n\t\t\t\t-charset utf-8\n\t\t\t\t-d\n\t\t\t\t../../../../../wrdoclet-gh-pages/apidocs-demoservice\n\t\t\t\u003c/additionalparam\u003e\n\t\t\u003c/configuration\u003e\n\t\u003c/plugin\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwinroad-net%2Fwrdoclet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwinroad-net%2Fwrdoclet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwinroad-net%2Fwrdoclet/lists"}