问题描述
我目前preparing启动一个新项目,并想知道的构建管理工具的选择。(Maven和蚂蚁+艾维的非排他性的替代品)
的一般方案如下:
- 小,几个人的项目,
- 所有的开发人员使用Eclipse作为IDE,
- 两个目标:机器人(主)和Java SE,
- 我们会在CI(詹金斯特别),所以还需要一些构建管理的。
关于设想项目结构:
- 一个总的模块,与大多数code和共同的依赖,
- 一款使用Android操作系统专用模块,采用Android特有DEPS和code,
- 一个特定的台式机模块,具体桌面DEPS和code。
和非技术方面的考虑:
- 在项目中我负责构建管理和CI的人,
- 我有经验,在同时使用Maven和Ant的,但在配置多练习前,
- 只有常春藤的基本知识,
- 我已经很复杂的经验与使用Maven为Android构建,尤其是与Eclipse的互操作有关。
On the surface it seems like it will go fine, but my intuition tells me involving so many technologies might end up being painful in practice.
To summarize, my question is:
Given the conditions, is it OK to use the setup described in the blockquote, or should we go pure Maven/Ant+Ivy (and if so, which one and why)?
Which one?
I would go with pure Maven approach.
Why?
The scenario you described is perfectly fit into an Aggregation (or Multi-Module) Project, From my own experience, compare with Ant, Maven provides a more efficient, reasonable and native way for managing multi-module project with inter-module dependencies.
Your project structure:
my-project/
common-lib/ <-- classic Java project, build as a jar library
desktop-app/ <-- classic Java project, build as a jar application
android-app/ <-- Android project, build as a apk application
android-app-test/ <-- Android Test project, build as a apk application
pom.xml
Your root pom.xml:
<modules>
<module>common-lib</module>
<module>desktop-app</module>
<module>android-app</module>
<module>android-app-test</module>
</modules>
By using android-maven-plugin, you can maintain a standard and unified way for release your multi-module project (more precisely, android-maven-plugin is used for building release for Android sub-module project) from command-line cross team.
By using two eclipse plugins: m2e and m2e-android (all available via Eclipse Marketplace), you can maintain a standard and unified way for import/develop/debug your multi-module project in Eclipse cross team.
As Maven is qualified for managing everything, there is no need to use Ant+Ivy.
这篇关于结合Maven的/ ANT +常春藤的敏感性建立双平台桌面/ Android的部署管理?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!