软件开发——软技能(六、构建工具)

来源:互联网 发布:atmlh642数据 编辑:程序博客网 时间:2024/06/06 05:20

六、构建工具

    在现代的Java项目开发中,项目的编译构建很少是用JDK进行编译了,而是使用相应的编译构建工具。常见的有Java编译构建工具有Maven,Gradle和Ant等。

    Maven:Java项目中使用广泛的构建工具。是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。使用XML定义项目对象模型。

    Ant:一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。LZ未在项目中使用过,故不作评论。

    Gradle:一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。

    上面都是很不错的编译构建工具。然而在LZ经历过的项目中,有不少项目是没有用编译工具,绝大部分是用的是Eclipse(MyEclipse)进行开发的,项目的结构和编译等都是采用的Eclipse的。不说各开发人员的Eclipse配置不一,就Eclipse的jar包导入,每个项目都要因此做很多工作,更别说jar包的缺少和冲突等。以及项目的持续集成和相关文档的生成就更不用说了。

    还有一些项目使用了如Maven这样的工具,但是比较奇怪的是,当用Maven命令进行编译时,居然通不过。后面一查,结果发现是少了servle的依赖。造成这种现象的原因是使用Eclipse进行编译,虽然是Maven项目,但是并不是使用Maven进行编译,而是使用Eclipse进行编译,所以Eclipse会自己加上servlet的jar包。还有就是,就算使用Maven,然而使用的也就是Maven的依赖管理,对于Maven提供的版本管理,模块管理,插件支持(自动化测试、文档的生成、代码风格的校验等)等等功能,则完全没有使用。

   如果在软件开发过程中,如此使用Maven,那真是大材小用,杀鸡用牛刀。Maven所提供的功能远不止依赖管理这么简单,依赖管理所代表的是统一的版本升级、发布、共享的思想。还有项目构建编译的定制,测试自动化,项目的发布,多版本项目(根据不同profile生成不同配置的项目)的编译等

1 0
原创粉丝点击