转自:https://blog.csdn.net/xhxmister/article/details/79409208

首先,Maven的正确发音是[ˈmevən],而不是“马瘟”以及其他什么瘟。Maven在美国是一个口语化的词语,代表专家、内行的意思,约等于北京话中的老炮儿。

一个对Maven比较正式的定义是这么说的:Maven是一个项目管理工具,它包含了一个项目对象模型(POMProject 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可以简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。

最新文章

  1. 升级Centos的python为2.7(centos python 升级)
  2. 内核控制Meta标签:让360浏览器默认使用极速模式打开网页(转)
  3. 渗透杂记-2013-07-13 windows/mssql/mssql_payload
  4. Java Spring AOP用法
  5. C# IO操作,写入文本到txt文件.
  6. A+B for Matrices 及 C++ transform的用法
  7. [转载]中国天气网API
  8. django源码阅读
  9. SQL Server 2014 HADR_DATABASE_WAIT_FOR_TRANSITION_TO_VERSIONING 等待
  10. 【Unity技巧】LOGO闪光效果
  11. MySQL server has gone away错误的解决办法
  12. PAT Basic 1012
  13. less点滴
  14. 移动端视频h5表现问题汇总
  15. JavaScript--语法3--数组
  16. uva 10891 区间dp+记忆化搜索
  17. 1039 Course List for Student
  18. Union与UnionAll
  19. BZOJ2555 SubString 【后缀自动机 + LCT】
  20. vue2.0 仿手机新闻站(二)项目结构搭建 及 路由配置

热门文章

  1. 集合 List和Set
  2. c++几种排序算法代码
  3. PyCharm 2017 Mac 免注册版破解安装说明
  4. vue-cli生成的模板各个文件详解(转)
  5. POJ-2142 The Balance 扩展欧几里德(+绝对值和最小化)
  6. BZOJ3744 Gty的妹子序列(分块+树状数组)
  7. shell应用之批量添加用户实例
  8. Configure Tomcat 7 to run Python CGI scripts in windows(Win7系统配置tomcat服务器,使用python进行cgi编程)
  9. vue25---vue2.0变化
  10. 81.node.js前端html时页面格式错乱解决办法