当我们说到maven(sbt)等项目管理工具时,到底在说啥?
来源:互联网 发布:多管火炮升级数据 编辑:程序博客网 时间:2024/04/29 06:45
首先,Maven的正确发音是[ˈmevən],而不是“马瘟”以及其他什么瘟。Maven在美国是一个口语化的词语,代表专家、内行的意思,约等于北京话中的老炮儿。
一个对Maven比较正式的定义是这么说的:Maven是一个项目管理工具,它包含了一个项目对象模型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。
不过,这段话对于完全没有Maven实践经验的人来说,看了等于没看,并没有什么卵用。
Maven到底是什么,能做什么,可以用更通俗的方式来说明。我们知道,项目开发不仅仅是写写代码而已,期间会伴随着各种必不可少的事情要做,下面列举几个感受一下:
1、我们需要引用各种jar包,尤其是比较大的工程,引用的jar包往往有几十个乃至上百个, 每用到一种jar包,都需要手动引入工程目录,而且经常遇到各种让人抓狂的jar包冲突,版本冲突。
2、我们辛辛苦苦写好了Java文件,可是只懂0和1的白痴电脑却完全读不懂,需要将它编译成二进制字节码。好歹现在这项工作可以由各种集成开发工具帮我们完成,Eclipse、IDEA等都可以将代码即时编译。当然,如果你嫌生命漫长,何不铺张,也可以用记事本来敲代码,然后用javac命令一个个地去编译,逗电脑玩。
3、世界上没有不存在bug的代码,正如世界上没有不喜欢美女的男人一样。写完了代码,我们还要写一些单元测试,然后一个个的运行来检验代码质量。
4、再优雅的代码也是要出来卖的。我们后面还需要把代码与各种配置文件、资源整合到一起,定型打包,如果是web项目,还需要将之发布到服务器,供人蹂躏。
试想,如果现在有一种工具,可以把你从上面的繁琐工作中解放出来,能帮你构建工程,管理jar包,编译代码,还能帮你自动运行单元测试,打包,生成报表,甚至能帮你部署项目,生成Web站点,你会心动吗?傻子才不会。
负责任的告诉你,以上的一切Maven都可以办到。概括地说,Maven可以简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。
- 当我们说到maven(sbt)等项目管理工具时,到底在说啥?
- Java进阶(二)当我们说线程安全时,到底在说什么
- Java进阶(二)当我们说线程安全时,到底在说什么
- Java进阶(二)当我们说线程安全时,到底在说什么
- Java进阶(二)当我们说线程安全时,到底在说什么
- 当我们说“分类”的时候,我们到底在说什么?
- 当我们说流程管理时,我们在说什么?
- 当我们说线程安全时,到底在说什么——Java进阶系列(二)
- 当我们看苹果发布会时,到底在看什么?
- play教程 第一课:当我们在谈论play时,我们到底在谈论什么
- 当我们在谈论机器学习时我们到底在谈些什么
- play教程 第一课:当我们在谈论play时,我们到底在谈论什么
- 当我们在谈论机器学习时我们到底在谈些什么
- 当我们谈论前端架构时,我们到底在谈论什么?
- 【2015/8/27】当我们在说平台的时候,我们究竟在说什么。
- 当我们说数据挖掘的时候我们在说什么
- 当我们说数据挖掘的时候我们在说什么
- 当我们准备做前后端分离项目时,我们在考虑什么?
- 软考新思维--2017年上半年信息系统项目管理师上午试题分析与答案(试题6-10题)
- spring+mybatis启动NoClassDefFoundError异常分析三部曲之一:稳定重现问题
- Leetcode Week16
- SonicOperator之傅里叶变换9
- 让你惊艳的PCA
- 当我们说到maven(sbt)等项目管理工具时,到底在说啥?
- request和response的setCharacterEncoding()方法
- gradle离线安装包
- 整数排序
- PB 数据窗口导出PDF,同一个数据窗口多次调用保存方法,合并到一个PDF中
- SonicOperator之傅里叶变换10
- 29---iptables 原理与应用
- 安卓学习网站和资源
- Redis中lua脚本使用