Maven JavaDoc 插件输出不正确的参数对齐
Maven JavaDoc Plugin outputs incorrect parameter alignment
我们正在使用 Maven JavaDoc 插件为我们的项目生成 javadoc。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
为某些方法生成 JavaDoc 时,对齐完全关闭。例如这个
@GetMapping(value = "/api/manyToOnes/{tablePlural}/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
public Map<String, String> getManyToOnes(@PathVariable String tablePlural, @PathVariable Integer id)
产生这个(保留空间,请不要编辑它们):
@GetMapping(value="/api/manyToOnes/{tablePlural}/{id}",
produces="application/json")
public Map<String,String> getManyToOnes(@PathVariable
String tablePlural,
@PathVariable
Integer id)
如您所见,阅读起来真的很烦人,我希望它能排成一行,或者至少中间没有巨大的空隙。
我无法确切地弄清楚它在纠结什么,但它似乎与注释有关。其他不使用注解的方法都可以。
我检查了 the config 看是否有任何与对齐相关的东西,但我没有看到任何东西。
我已经在使用最新版本,降级到以前的版本会有帮助吗?我不愿意手动遍历它们,尤其是当不能保证它永远有效时。
我检查了 the issue tracker,似乎没有任何符合我所见的东西。如果这里没有人可以提供帮助,那么我会在那里提出一个错误。我不记得在任何其他项目的 JavaDocs 中看到过这个,所以我倾向于认为这是我的问题而不是他们的问题。
在对此进行调查后,我了解到根本不是生成 HTML 的插件,而是它将其委托给 JDK、jdk/bin/javadoc.exe
提供的工具
学习了这个之后,我尝试使用 JDK 9 而不是 8 进行构建,结果要好得多。
@GetMapping(value="/api/manyToOnes/{tablePlural}/{id}",
produces="application/json")
public Map<String,String> getManyToOnes(@PathVariable
String tablePlural,
@PathVariable
Integer id)
我看了Oracle's bug tracker for fixVersion = 9 which led me to the bug: JDK-8062647
FWIW 我了解到 Java 12 中的输出与这两个不同,因此它似乎经常发生变化。
我们正在使用 Maven JavaDoc 插件为我们的项目生成 javadoc。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
为某些方法生成 JavaDoc 时,对齐完全关闭。例如这个
@GetMapping(value = "/api/manyToOnes/{tablePlural}/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
public Map<String, String> getManyToOnes(@PathVariable String tablePlural, @PathVariable Integer id)
产生这个(保留空间,请不要编辑它们):
@GetMapping(value="/api/manyToOnes/{tablePlural}/{id}",
produces="application/json")
public Map<String,String> getManyToOnes(@PathVariable
String tablePlural,
@PathVariable
Integer id)
如您所见,阅读起来真的很烦人,我希望它能排成一行,或者至少中间没有巨大的空隙。
我无法确切地弄清楚它在纠结什么,但它似乎与注释有关。其他不使用注解的方法都可以。
我检查了 the config 看是否有任何与对齐相关的东西,但我没有看到任何东西。
我已经在使用最新版本,降级到以前的版本会有帮助吗?我不愿意手动遍历它们,尤其是当不能保证它永远有效时。
我检查了 the issue tracker,似乎没有任何符合我所见的东西。如果这里没有人可以提供帮助,那么我会在那里提出一个错误。我不记得在任何其他项目的 JavaDocs 中看到过这个,所以我倾向于认为这是我的问题而不是他们的问题。
在对此进行调查后,我了解到根本不是生成 HTML 的插件,而是它将其委托给 JDK、jdk/bin/javadoc.exe
提供的工具
学习了这个之后,我尝试使用 JDK 9 而不是 8 进行构建,结果要好得多。
@GetMapping(value="/api/manyToOnes/{tablePlural}/{id}",
produces="application/json")
public Map<String,String> getManyToOnes(@PathVariable
String tablePlural,
@PathVariable
Integer id)
我看了Oracle's bug tracker for fixVersion = 9 which led me to the bug: JDK-8062647
FWIW 我了解到 Java 12 中的输出与这两个不同,因此它似乎经常发生变化。