我目前正准备开始一个新项目,并且想知道构建管理工具的选择(Maven 和 Ant+Ivy 的非排他性替代品)。
一般情况如下:
- 小型,多人项目,
- 所有开发人员都使用 Eclipse 作为 IDE,
- 两个目标:Android(主要)和 Java SE,
- 我们将在 CI(特别是 Jenkins)中,因此需要某种构建管理。
关于设想的项目结构:
- 一个通用模块,包含大部分代码和常见依赖项,
- 一个特定于 Android 的模块,带有特定于 Android 的 deps 和代码,
- 一个特定于桌面的模块,带有特定于桌面的 deps 和代码。
以及非技术方面的考虑:
- 在项目中,我是负责构建管理和 CI 的人,
- 我有使用 Maven 和 Ant 的经验,但在配置前者方面有更多的实践,
- 只有常春藤的基本知识,
- 我在将 Maven 用于 Android 构建方面的经验非常复杂,尤其是在与 Eclipse 的互操作方面。
目前看起来最好的选择是使用:
- 用于基础(和桌面)项目的 Maven,
- 用于 Android 项目的 Ant+Ivy。
表面上看起来会很好,但我的直觉告诉我,涉及这么多技术可能最终在实践中会很痛苦。
总而言之,我的问题是:
给定条件,是否可以使用块引用中描述的设置,或者我们应该使用纯 Maven/Ant+Ivy(如果是,是哪一个以及为什么)?