我正在将一个项目从ant移植到maven。该项目由一组核心类组成,这些类得到jar并由3-4个其他子项目使用。重要的是(我认为?),核心jar有自己的配置,在构建时设置,每个子项目也在构建时设置配置。在旧的蚂蚁系统中,我随时用其他类似的东西构建了一个子项目。
ant -Dconfiguration=stage clean dist
...它将使用相同的(阶段)配置构建核心jar,并将其复制到子项目构建的类目录中。我想使用maven复制此功能。从我已经完成的阅读中,看起来Maven可以使用项目继承或聚合来处理这个问题。这两种方法之间的主要区别是什么?对于我所描述的用例,你会推荐哪种方法?
答案 0 :(得分:3)
继承用于在项目之间共享公共事物,例如第三方库依赖项或属性或scm位置。聚合用于将项目构建为一个组。你想要聚合,但这并不意味着你也不会使用继承来分解常见的东西。
更新:还要记住,maven不仅仅是关于构建(与ant不同),而是关于依赖管理,因此你可以只在你的核心上创建依赖关系而根本不使用聚合。您将依赖于核心的特定版本。然而,这并不能满足您一次构建所有内容的要求。