maven - 文档的生成应该在父模块还是模块中完成?
问题描述
我对 Maven 还很陌生,并且不确定各种组件的正确角色。
我一直在使用以下 Maven 项目结构来开发微服务:
service-parent
+-- rest-service-module
+-- frontend-js-module
+-- ...
服务定义使用 Swagger 完成,yaml 文件存储在父项目中。
我现在想建立一个包含文档和报告的站点。对我来说,将站点存储在父模块中并从子模块中收集 javadocs、surefire 报告等似乎是合乎逻辑的。例如,我添加swagger2markup-maven-plugin
到父 pom 以从 swagger yaml 生成文档。
我遇到的第一个问题是父 pom 执行swagger2markup-maven-plugin
并生成 HTML。但是,它在子模块上执行相同的目标并失败。
似乎我不了解导致这个问题的父母和孩子的角色。Swagger 文档只需要生成一次——而不是从每个子模块生成——所以父模块似乎是显而易见的选择。
那么为什么要为每个孩子执行父母中的插件,我该如何防止呢?我仍处于项目的早期阶段,因此我可以在适当的时候重新组织模块结构。
我已经尝试了https://stackoverflow.com/a/14653088/11249中建议的解决方案,但无法让它为我工作。
解决方案
您可以使用 -N 开关来在生成文档时不递归到子项目中。在您的服务父 pom.xml 上执行以下命令(或您喜欢的任何其他命令)。(只会为这个 pom 执行)
mvn -N swagger2markup:convertSwagger2markup
推荐阅读
- java - 仅使用数组向数组对象添加新对象,而不创建新数组
- python - 驱动程序的硒问题
- google-cloud-platform - 在共享 vpc gogle 项目中创建 gke 集群时出错
- android - 在cordova android中安装Firebase插件失败
- swift - SwiftUI 项目为模拟器成功构建,但 Product > Archive 因 Swift 包中的错误而失败
- c++ - 如何在 VS 代码中更改我的 EXE 文件的图标?
- node.js - 测试需要本地主机数据的 Stripe webhook
- php - 添加新输入时addform select2不起作用
- r - 如何使用R在电子表格的一列中分隔多个名称
- git - “git submodule foreach”不会遍历所有模块