【问题标题】:Maven JavaDoc Plugin outputs incorrect parameter alignmentMaven JavaDoc Plugin 输出不正确的参数对齐
【发布时间】:2020-07-20 12:22:29
【问题描述】:

我们正在使用 Maven JavaDoc 插件为我们的项目生成 javadocs。

<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 中看到过这种情况,所以我倾向于认为这是我的问题,而不是他们的问题。

【问题讨论】:

  • 您在 pom 的哪个部分指定了插件?您是否尝试过不同(旧)版本的插件?
  • @PavelPolivka Build &gt; Plugins &gt; {this plugin}。如问题所述,不,我没有。我自己才开始深入研究,似乎插件不负责 HTML 生成,它是 jdk/bin/javadoc.exe

标签: java maven javadoc


【解决方案1】:

在对此进行调查后,我了解到生成 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,这导致了我的错误:JDK-8062647

FWIW 我了解到输出与 Java 12 中的这两种不同,所以它似乎经常发生变化。

【讨论】:

    猜你喜欢
    • 2012-04-09
    • 2019-03-26
    • 2021-10-10
    • 2019-03-03
    • 1970-01-01
    • 2016-02-25
    • 2019-12-27
    • 1970-01-01
    • 2021-03-09
    相关资源
    最近更新 更多