【问题标题】:Is there a workaround for maven-javadoc-plugin bug MJAVADOC-414?是否有针对 maven-javadoc-plugin 错误 MJAVADOC-414 的解决方法?
【发布时间】:2015-04-05 11:39:20
【问题描述】:

在使用 maven-javadoc-plugin 生成测试 Javadoc 时,我突然收到多个错误,指出 Javadoc 插件无法从我的主代码库中找到任何类。在运行test-javadoc 目标时,类路径仅包含src/test 文件夹中的类;插件无法看到来自 src/main 的类。

此错误发生在 maven-javadoc-plugin 版本 2.102.10.12.10.2 上。这个错误是官方认可的bugMJAVADOC-414,可以查看bug报告here。官方错误报告列出了一种解决方法,包括将插件降级到版本2.9.1,我已经确认这是一个成功的错误解决方法。还值得注意的是,该错误目前已被列为已修复,应该会在 maven-javadoc-plugin 的下一个版本中消除,版本可能是 2.11 2.10.3

但是,我正在尝试为MJAVADOC-414 找到一种解决方法,该方法不涉及降级 3 个发行版本的过度杀伤力。有谁知道一种解决方法,可以以不涉及降级的替代方式成功消除有关丢失类引用的错误消息?

【问题讨论】:

  • 这是一个很好的问答,对双方都 +1。但是考虑修改你的“文本块”格式。使用段落和空白使其更清晰。
  • 感谢您的投票和建议;我用段落更新了 Q 和 A。
  • 你有机会测试 maven-javadoc-plugin 版本 2.10.3 的 SNAPSHOT 版本吗?所以我们可以确定问题解决了吗?所以我可以在下周开始发布......
  • @khmarbaise 通过使用http://repository.apache.org/snapshots 作为插件库,我能够获得一份 maven-javadoc-plugin 2.11-SNAPSHOT 的副本。 SNAPSHOT 版本仅使用我已经发布的解决方法成功生成了测试 Javadoc。如果没有我的解决方法,2.11-SNAPSHOT 生成的错误与2.10 发布版本生成的错误相同。该错误被错误地标记为已修复,或者补丁尚未纳入 SNAPSHOT 版本。
  • 所以新版本正式公布了。

标签: java maven testing javadoc maven-javadoc-plugin


【解决方案1】:

我目前与 maven-javadoc-plugin 2.10.2 一起成功使用的潜在非降级解决方法涉及向插件的所有测试相关执行添加一个小配置,包括以下目标:test-javadoctest-javadoc-noforktest-aggregatetest-jartest-aggregate-jartest-fixtest-resource-bundle

一旦您确定了针对所列目标的执行,您只需将以下配置添加到该执行:

<!-- Additional Dependencies workaround for MJAVADOC-414 -->
<additionalDependencies>
    <additionalDependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>${project.artifactId}</artifactId>
        <version>${project.version}</version>
    </additionalDependency>
</additionalDependencies>

此解决方法使用 AdditionalDependencies 标记在插件执行期间将依赖项添加到类路径。添加的依赖项是使用 groupId、artifactId 和 version 的项目变量定义的。实际上,我们正在将当前 POM 定义的项目添加到 maven-javadoc-plugin 测试执行的类路径中。

通过相对变量定义依赖关系使得这个解决方案对于单个 POM 和多个 POM 项目都是安全的。此解决方案也可以成功地与 pluginManagement 声明一起使用。如果您不小心将此解决方案添加到与测试阶段无关的执行中,它应该是无害的,但它可能是重复的,并且可能会增加执行时间。

【讨论】:

    猜你喜欢
    • 2011-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-16
    • 2010-09-27
    • 2011-11-24
    • 2022-01-02
    • 2012-04-09
    相关资源
    最近更新 更多