从零开始的maven异世界
1:什么是maven,maven可以做什么?
首先,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可以简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。
原文地址:http://blog.csdn.NET/u012152619/article/details/51473380(个人感觉讲的非常详细而且易懂,所以转了过来。哈哈)
2下载和安装maven
3:再下来就是环境变量配
打开系统环境变量对话框
3.1 右键“我的电脑” -> "属性"
3.2 在打开的属性面板里选择“高级系统设置”
3.3 在打开的高级系统设置对话框中选择“高级”标签 -> “环境变量” 具体操作省
添加新的系统环境变量MAVEN_HOME, 并设置其值为你安装的目录MAVEN_HOME= E:迅雷下载apache-maven-3.5.0
添加%MAVEN_HOME%in
4首先进入cmd命令解释器;敲mvn -v如果出现如下maven的信息,那么说明已经安装好了 。
链接:https://www.zhihu.com/question/20104186/answer/152005635
来源:知乎
检索最新代码;
while(小王还没崩溃){单元测试;更新代码;跑不通;
}
小王崩溃了,他跑过去问实习生:“起不来,什么情况,你动了啥?”实习生给出了经典回答:“在我电脑上一直很好啊。”小王一气之下,拷贝实习生所有jar包替换,终于工程起来了。小王如此死循环了一周,感觉项目这么继续下去要崩,于是找到了maven。
maven是啥,是绝佳的构建工具,帮你管理了从项目的开始到测试的所有过程,你可以用它(准确的说是maven的各个插件)编译、测试、清理、部署。maven同样可以帮你管理jar包,只要你在pom中配好相关的配置,maven就可以贴心地帮你下载好相应的依赖以及多重依赖。
有了maven一般会配合hudson一起食用。maven管理你的项目的架构,hudson用于持续继承,及时发现团队项目中的潜在危险。
我们来看一下有了maven之后是什么样子的?
小王的模块不幸依赖了实习生的模块。小王每天去上班首先看看hudson有没有给项目经理发邮件。而maven下面的模块依赖一直就是用稳定版的,项目稳如狗,美好的一天开始了。