【发布时间】:2015-07-15 18:28:42
【问题描述】:
我正在使用 Java 8,并且我有一个 spring 控制器,它具有创建新用户的方法:
/**
* Creates a new user in the system
*
* @param username The new user's username
* @param email The new user's email
* @param password The new user's password
* @return the new user
*/
@RequestMapping(value = "/user/create", method = RequestMethod.POST)
@ResponseBody
public String createUser(
@RequestParam(value = "username") String username,
@RequestParam(value = "email") String email,
@RequestParam(value = "password") String password) {
return "";
}
当我为此生成 javadocs 时,我最终会在参数前出现大量空白。生成的 HTML 在列表中参数之前的<pre> 标记中有很多空格。
如果我从方法中删除 @RequestMapping 和 @ResponseBody 属性,那么 javadocs 会按预期出现。
我已将 javadoc 工具生成的输出放在以下代码 sn-p 中。第一个是它今天的渲染方式,第二个是删除属性后它的正确显示方式。
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="createUser-java.lang.String-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createUser</h4>
<pre>@RequestMapping(value="/user/create",
method=POST)
@ResponseBody
public java.lang.String createUser(@RequestParam(value="username")
java.lang.String username,
@RequestParam(value="email")
java.lang.String email,
@RequestParam(value="password")
java.lang.String password)</pre>
<div class="block">Creates a new user in the system</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>username</code> - The new user's username</dd>
<dd><code>email</code> - The new user's email</dd>
<dd><code>password</code> - The new user's password</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the new user</dd>
</dl>
</li>
</ul>
<a name="createUserWithoutAttributes-java.lang.String-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>createUserWithoutAttributes</h4>
<pre>public java.lang.String createUserWithoutAttributes(@RequestParam(value="username")
java.lang.String username,
@RequestParam(value="email")
java.lang.String email,
@RequestParam(value="password")
java.lang.String password)</pre>
<div class="block">Creates a new user in the system</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>username</code> - The new user's username</dd>
<dd><code>email</code> - The new user's email</dd>
<dd><code>password</code> - The new user's password</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the new user</dd>
</dl>
</li>
</ul>
</li>
</ul>
我不知道从哪里开始研究这个,所以我很感激任何意见。
javadoc -J-version 说:
java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)
Javadoc 命令:
javadoc -d docs -Xdoclint:none -sourcepath ./MyProject/src -subpackages com -classpath ./spring-web-4.0.8.RELEASE.jar./spring-context-4.0.8.RELEASE.jar
【问题讨论】:
-
javadoc 版本和命令行?
-
...添加到原始问题
-
我也得到了这个(通过 gradle 的 javadoc 任务)。除了重写生成的 html 文件之外,您是否设法解决它?
标签: java spring-mvc java-8 javadoc