Joel Test中的第二项是“是否可以一步构建”,但是实现这个的最佳(或常见)方式是什么?使用IDE的命令行界面进行无头构建与维护完全独立于IDE的构建脚本有何优缺点(例如,在Java项目的情况下使用Ant或Maven)。
我问这个问题是因为我正在尝试使用Maven,并且有点惊讶地发现,即使使用m2eclipse插件,也不太可能在项目上工作时关闭Eclipse的Java Builder并将整个构建过程委托给Maven。似乎如果我想将项目迁移到Maven,我最终将不得不维护两个等效但不同的构建过程,例如,命令行构建将使用DataNucleus Maven插件来增强JDO类,而IDE构建将使用Eclipse的DataNuclues插件; 命令行构建将使用Tomcat Maven插件,而IDE将使用Eclipse的Web工具平台。这种冗余看起来很不幸。
我了解到NetBeans使用Ant进行构建,这听起来似乎可以解决这个问题。但不幸的是,我既不使用NetBeans也不使用Ant!编辑后添加:我发现我可以在Eclipse中设置一个Maven builder,使用特定的目标调用我正在使用的一些Maven插件(例如,在我的情况下,“datanucleus:enhance process-resources”目标负责处理JDO增强、资源复制和native2ascii转换)。这将Java编译留给Eclipse,但仍然实现了与Maven的某种程度的集成。