Ben*_*ler 5 java maven swagger
我用来swagger-codegen-maven-plugin生成一组存根(java用于客户端,jaxrs用于服务器)。我通过调用插件生成两个 Maven 项目来完成此操作。
但是,生成会为每个生成的子项目创建POM,显然,如果它们尚不存在,我无法将它们作为顶级 POM 中的依赖项引用!
这是如何做到的?Maven 是否提供了获取动态生成子模块的机制?
是的,如果您知道子模块的路径和名称,您可能已经可以预定义父 pom。
step1:创建maven父pom来执行多个子模块。您当前基于 swagger 的 Maven 构建应该是此父 pom 下的子模块。
步骤2:确保父pom中定义的模块的执行顺序是首先执行基于swagger的模块。
步骤3:首先运行基于swagger的maven模块一次。这将生成其他 Maven 项目。根据生成的模块的名称和子项目的路径,您现在可以在父 pom 中引用它们。
步骤 4:从父 pom 模块运行聚合构建。确保在首次运行聚合构建时子 POM 的版本已经存在。否则 Maven 可能会抱怨缺少模块。我假设 maven 在启动相应模块之前将子 pom 文件加载到内存中。所以这应该有效。
这是多模块构建的示例。