龙目岛 Maven javadoc:包含生成源的聚合报告

我有一个用Maven构建的多模块java项目,我想用.项目结构如下所示:javadoc:aggregate

parent
├─lomboklib
└─other

我还使用龙目岛项目在项目中生成一些方法。我已经成功地配置了它,通过首先使用龙目岛maven插件运行delombok来使用单个模块。对于单个模块(龙目岛),这将生成源代码

target/generated-sources/delombok

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

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

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

mvn clean compile javadoc:aggregate

在父项目中,让整个项目编译并获取整个项目的javadocs。


答案 1

我创建了一个解决方法构建配置,该配置将从生成的源创建聚合的javadocs,尽管调用序列有两个步骤:

mvn package
mvn -N pre-site

生成配置现在发布在 Github 中。当前版本仅支持深度为一的项目树,但当然可以修改。它的工作原理是收集父目录下的依赖项,然后运行包含的 Ant 脚本。target

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


答案 2

我从Github下载了示例项目来重现您的问题,并发现这是因为在顶级pom上进行了不必要的配置 - 只有包含龙目岛代码的模块才需要它。只需删除该配置,即可按预期方式运行。lombok-maven-pluginjavadoc:aggregate


推荐