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 中的输出与这两个不同,因此它似乎经常发生变化。