在我正在开发的项目中,我们在一个名为api /的文件夹中自动生成interfaces API,其中包含几个子文件夹,其中每个文件夹都有一个能够编译模块内容的pom文件。如何告诉Maven编译自动生成的maven模块?
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验证会发生抱怨。
感谢
我并不真正了解您的观点。也许在帖子中并不清楚,但我们总是从UML模型中生成所有apis。这意味着当我们从build文件夹中调用maven clean install时,代码生成器会在生成代码阶段被触发,并且只有在它之后,模块才会被使用。 – slux83
嗯,也许我没有让自己清楚。我认为你正在走一条让你的生活变得不必要的道路。如果您试图动态生成和构建项目,那么您至少总是会遇到需要引用这些项目的所有项目的问题(如您的聚合项目或任何客户端项目)。 我的建议是创建项目(生成或不是不重要),像往常一样安装和使用它们。所以不要将项目创建部分与构建过程混合在一起,它会给你带来严重的麻烦,而且几乎没有任何回报。 –