使用maven-javadoc-plugin时,如何整合依赖模块的JavaDoc文档?
Maven生成模块A文档时包含依赖模块B的Javadoc方案
模块B的操作
要让A生成文档时能关联到B的Javadoc,首先得保证B部署到内部仓库时,同时上传Javadoc归档包(即B-<version>-javadoc.jar)。
在B的pom.xml中配置maven-javadoc-plugin,绑定到deploy阶段,这样执行mvn deploy时会自动生成并上传Javadoc包:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>3.5.0</version> <!-- 可根据需求调整版本 --> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> <phase>deploy</phase> </execution> </executions> </plugin> </plugins> </build>
执行mvn clean deploy后,内部仓库里会同时存在B的主jar、Javadoc jar(若配置了source插件还会有源码jar)。
模块A的操作
A依赖B,只需配置maven-javadoc-plugin,让它自动拉取B的Javadoc包并关联到生成的文档中:
在A的pom.xml中添加如下插件配置:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>3.5.0</version> <configuration> <!-- 启用依赖的Javadoc关联 --> <useDependencySources>true</useDependencySources> <!-- 指定要关联的依赖Javadoc(可选,若Maven能自动识别可省略) --> <dependencySourceIncludes> <dependencySourceInclude>B模块groupId:B模块artifactId:*:javadoc</dependencySourceInclude> </dependencySourceIncludes> <!-- 可选:让生成的文档显示源码链接 --> <linksource>true</linksource> </configuration> </plugin> </plugins> </build>
执行mvn javadoc:javadoc后,生成的A的Javadoc文档中,所有来自B的类(比如RespostDTO)都会直接关联到B的Javadoc内容,点击即可查看详情。
注意事项
- 确保A依赖的B版本,是已经部署了Javadoc包的版本。
- 内部仓库配置要正确,保证Maven能正常拉取到B的Javadoc jar包。
内容的提问来源于stack exchange,提问作者taetaetae
相关产品推荐
相关产品推荐

