在我正在开发的项目中,我们在名为api /的文件夹中自动生成interfaces API,其中包含多个子文件夹,其中每个子文件夹都有一个能够编译模块内容的pom文件。
project-root
- api
- module-api-1
- pom.xml
- module-api-2
- pom.xml
- module-api-3
- pom.xml
- module-api-4
- pom.xml
- build
- pom.xml
基本上,pom.xml触发代码生成器,然后生成所有api / *模块。当我在文件夹build /中运行maven clean install时,api文件夹为空,因为它将由生成代码Maven阶段的代码生成器填充。
有没有办法告诉build / pom.xml在同一个版本中处理api中的模块(名称已知)?
如果我指定一个不存在的<module>
,maven验证会抱怨。
由于
答案 0 :(得分:1)
我认为解决方案取决于API列表的灵活性
答案 1 :(得分:0)
如果是我的项目,我会在pom(modules / module-api-1 module-api-2 ...)中声明对模块静态的引用,并且还将模块-Projects置于生成状态,以便它理论上可以在不生成apis的情况下编译。所以我要说的是 - 只需将这些模块视为完整的模块项目。
然后我认为这对你很重要,如果你在一个或多个api中导致变化的代码有变化,我会运行Generator。如果您需要在仓库中反映这个已更改的api,您仍然可以安装更改的模块。
我知道这可能不是你想做的事情,但我很确定你会采取更少的问题&#34;保守的方式&#34;。