当前位置: 首页 > 知识库问答 >
问题:

Lombok Maven javadoc:带有生成源的聚合报告

杜思远
2023-03-14

我有一个使用Maven构建的多模块java项目,我想使用javadoc:聚合生成javadocs。项目结构如下所示:

parent
├─lomboklib
└─other

我也在使用Project Lombok在项目中生成一些方法。我已经通过首先使用Lombok maven插件运行delombok成功地将其配置为与单个模块一起使用。对于单个模块(lomboklib),这将在

target/generated-sources/delombok

然后由maven-javadoc-plugin和javadoc工具处理。这最初是在这个SO问题中解决的。

如何配置javadoc:aggregate报告以同时使用生成的源?

我已经为Github中所有模块定义的问题建立了一个沙箱。理想情况下,我应该能够跑步

mvn clean compile javadoc:aggregate

在父项目中,并编译整个东西并为整个项目获取javadocs。

共有3个答案

陆翰藻
2023-03-14

我也遇到了同样的问题,我能够通过直接从父项目引用源路径来解决这个问题。

为您的父pom的maven javadoc插件尝试此配置。

<configuration>
    <sourcepath>
        lomboklib/target/generated-sources/delombok;
        other/target/generated-sources/delombok
    </sourcepath>
</configuration>

这真的不理想。感觉有点像黑客。

秦毅
2023-03-14

我从Github下载了示例项目来重新创建您的问题,并发现这是因为lombok maven插件在顶级pom上配置得不必要——它只需要用于包含lombok代码的模块。通过简单地删除该配置,javadoc:aggregate的行为符合预期。

哈朗
2023-03-14

我创建了一个变通构建配置,该配置将从生成的源创建聚合的Javadoc,尽管调用序列有两个步骤:

mvn package
mvn -N pre-site

构建配置现在发布在Github中。当前版本仅支持深度为1的项目树,但当然可以修改。它通过收集父目录下的依赖项,然后运行包含的Ant脚本来工作。

最后,如果在Jenkins下运行,则可以通过执行shell post步骤在同一作业中调用mvn-N pre-site。在我们的Jenkins版本中发布javadocs需要使用构建后操作“使用其他项目的发布者”。

 类似资料:
  • 我正在使用Junit运行cucumber宁静测试: 代码片段: 对于每个测试执行,都会生成单独的html报告,但不会直接使用HtmlAggregate StoryReport生成聚合(组合)报告(参考:https://github.com/serenity-bdd/serenity-core/issues/244) 这是我使用的代码片段,它被挂起并且聚合未完成。在所有cucumber宁静测试完成后

  • 我正在尝试使用Jasper Reports 6.5.1将数据从Java传递到使用JRBeanCollectionDataSource的报告中的字段属性。 我已经创建了JavaBean和报告,所有数据似乎都顺利通过,但最终结果是一个空白页面,我似乎无法解决这个问题。任何帮助都将不胜感激。请看下面我的代码... 提前致谢 代码生成报告 爪哇豆 以下是报告源XML

  • 我使用jasper设计器(不是iReport而是eclipse的插件)创建了一个使用excel文件作为数据源的报表。 该报表在设计器中运行良好,并且从文件中读取数据没有问题,但是在将该文件编译为并在JasperViewer中给出excel文件的路径后,jasperViewer中没有任何内容! 这是我的代码:

  • What the world really needs is more love and less paperwork. — Pearl Bailey 大型的基础设施架构往往是真正的第一受害者。如果你正管理着许多机器, 那么使用 Puppet 的报告设施,可以为你提供一些关于正在发生什么的有价值的信息。 操作步骤 要启用报告,只要将如下的行加入客户端的 puppet.conf 文件: report

  • 我有一个集合,其中的文档如下所示:

  • 我是聚合框架的新手,有以下问题。 我的收藏是这样的: 用户 ActivitiesFeed 活动 聚合函数 如何使用第一个查找结果进行查找? 我查阅了activities集合。此集合保存第二个查找BaseData.UserID的id。但是使用这种方法,第二次查找没有结果。 我对activities集合进行连接的原因是actionID可以保存来自另一个集合的用户id或文档id。它取决于activiti