软件开发——软技能(六、构建工具)
来源:互联网 发布: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生成不同配置的项目)的编译等
- 软件开发——软技能(六、构建工具)
- 软件开发——软技能(四、日志)
- 软件开发——软技能(背景)
- 软件开发——软技能(〇、基础)
- 软件开发——软技能(一、IDE)
- 软件开发——软技能(二、版本管理)
- 软件开发——软技能(五、单元测试)
- 软件开发——软技能(七、持续集成)
- 软件开发——软技能(三、注释和文档)
- 软件开发工具(六)--宏观总结
- 许晓斌_Maven实战(六)——Gradle,构建工具的未来?
- Maven实战(六)——Gradle,构建工具的未来?
- Maven实战(六)——Gradle,构建工具的未来?
- Maven实战(六)——Gradle,构建工具的未来?
- 学习笔记——Maven实战(六)Gradle,构建工具的未来?
- 软件开发技能共勉
- 使用angularjs1.x构建前台开发框架(六)——service的引用
- Scons软件构建工具
- Android自定义控件3——边缘凹凸的卡劵效果View
- 计数模式 (模板)
- hdu1501 Zipper 【dp】
- Another kind of Fibonacci (矩阵连乘)
- linux运维人员必会的22道shell编程面试题及视频讲解
- 软件开发——软技能(六、构建工具)
- lintcode ----数组剔除元素后的乘积
- Oculus开发笔记(一)
- linux北京老男孩博客学习地址
- 计数模式 算法详解
- UVA 10474 Where is the Marble? (STL最简单运用)
- wcf
- UVA, 681Convex Hull Finding(凸包)
- HTML中img标签及相关属性