#从零开始的maven异世界#

从零开始的maven异世界

1:什么是maven,maven可以做什么?

首先,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可以简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。

原文地址:http://blog.csdn.NET/u012152619/article/details/51473380(个人感觉讲的非常详细而且易懂,所以转了过来。哈哈)

2

下载地址:http://maven.apache.org/download.cgi

接下来滑动鼠标(还在本页)可以看到如下图的文字,点击椭圆框(方形框里面是源代码)就可以下载了;

3:再下来就是环境变量配

    打开系统环境变量对话框

3.1 右键“我的电脑” -> "属性"

3.2 在打开的属性面板里选择“高级系统设置”

3.3 在打开的高级系统设置对话框中选择“高级”标签 -> “环境变量”          具体操作省

添加新的系统环境变量MAVEN_HOME, 并设置其值为你安装的目录MAVEN_HOME= E:\迅雷下载\apache-maven-3.5.0

添加%MAVEN_HOME%\bin

4

首先进入cmd命令解释器;敲mvn -vr如果出现如下maven的信息,那么说明已经安装好了 。 、

 最后再说下maven和jar的关系  : 依赖关系

作者:知乎用户
链接:https://www.zhihu.com/question/20104186/answer/152005635
来源:知乎

在maven之前,小王每一天来公司都胆战心惊,不知道那个实习生会昨天加班到十点干了啥,不幸的是他的模块要依赖实习生的,于是小王每天上班的前四个小时都会以下事情:

检索最新代码;

while(小王还没崩溃){单元测试;更新代码;跑不通;

}

小王崩溃了,他跑过去问实习生:“起不来,什么情况,你动了啥?”实习生给出了经典回答:“在我电脑上一直很好啊。”小王一气之下,拷贝实习生所有jar包替换,终于工程起来了。小王如此死循环了一周,感觉项目这么继续下去要崩,于是找到了maven。

maven是啥,是绝佳的构建工具,帮你管理了从项目的开始到测试的所有过程,你可以用它(准确的说是maven的各个插件)编译、测试、清理、部署。maven同样可以帮你管理jar包,只要你在pom中配好相关的配置,maven就可以贴心地帮你下载好相应的依赖以及多重依赖。

有了maven一般会配合hudson一起食用。maven管理你的项目的架构,hudson用于持续继承,及时发现团队项目中的潜在危险。

我们来看一下有了maven之后是什么样子的?

小王的模块不幸依赖了实习生的模块。小王每天去上班首先看看hudson有没有给项目经理发邮件。而maven下面的模块依赖一直就是用稳定版的,项目稳如狗,美好的一天开始了。

2017-06-30 21:17:26

时间: 2024-10-24 12:45:33

#从零开始的maven异世界#的相关文章

NOJ 2015年陕西省程序设计竞赛网络预赛(正式赛)(小女警的异世界之战-前序中序求后序)

A - 小女警的异世界之战 Time Limit: 1000 ms        Memory Limit: 65536 KB Submit Description 这一天,小女警花花,泡泡和毛毛来到终极Boss"Him"所在的异世界并准备与其决一死战,却被困在了他的城堡里.她们发现异世界是一个巨大的城堡.城堡由一个个大小不同的房间组成,房间有着以下的规则: 每个房间有且仅有一扇黄门,此外至多有一扇红门和一扇绿门:黄色代表通向更大的房间,绿色和红色代表通向更小的房间.很显然,如果你打开

从零开始的异世界生活

#include<bits/stdc++.h> using namespace std; const int N=100000; const int inf=2147483647; int cnt=0; int top=0; struct treap{ int ch[2],size,rd,val; }t[N+10]; int gi(){ int ans=0,f=1;char i=getchar(); while(i<'0'||i>'9'){if(i=='-')f=-1;i=getc

从零开始的异世界生活(前缀和)

Description 486 作为有史以来最悲惨的男主,我们知道他需要经历一些无限次的死亡和轮回才能进行下一个关卡. 现在给你 n 个连续的时间点,每个时间点 i 上都会有一个心理伤害值 hurt[i],然后告诉你 m 个死亡时间点 deth[i],以及当前死亡时间点会死亡的次数 num[i],和死亡后 486 会返回的时间点(也就是最近的存档点 return[i]). 其整个过程就是 486 从时间点 0 开始 (hurt[0] = 0),不断向下一个时间点 1, 2, 3… 前进,当遇到死

Maven项目环境搭建(Maven + Spring + IBatis)步骤

准备步骤 ?1. 安装Maven,下载解压即可. ?2. 修改maven_home/conf/settings.xml中的<localRepository>D:/MavenRepo</localRepository>指定本地仓库位置. ?3. 修改settings.xml中的?<mirrors></mirrors>标签,添加常用的maven远程仓库地址.这些仓库地址就是用来下载jar包的时候用的.比如: <mirror>       <id

Maven整理笔记のMaven仓库

Maven坐标和依赖是任何一个构件在Maven世界中的逻辑表示方式:而构件的物理表示方式是文件,Maven通过仓库来统一管理这些文件.  Maven仓库 在Maven的世界中,任何一个依赖.插件或者项目构建的输出,都可以称为一个构件.如项目依赖log4j-1.2.15.jar是一个构件,插件maven-compiler-plugin-2.0.3.jar是一个构件,我们自己的Maven项目构建完成后的输出.jar/war文件也是一个构件.任何一个构件都有一组坐标唯一标识.在我们项目开发中,往往可能

maven小试牛刀

Maven是一个采用纯Java编写的开源项目管理工具.Maven采用了一种被称之为project object model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中,通过该文件,Maven可以管理项目的整个声明周期,包括编译,构建,测试,发布,报告等等.目前Apache下绝大多数项目都已经采用Maven进行管理.而Maven本身还支持多种插件,可以方便更灵活的控制项目. 构建 理解maven的第一步我们需要知道构建是什么?<maven实战>这本书里写

Maven、gradle、Ant、Eclipse IDE

Maven.gradle.Ant.Eclipse IDE之间的关系 http://wenku.baidu.com/view/d33208810912a21615792910.html?from=search 觉得应该很多同学有和我一样的疑惑,所以分享下. 1.使用github上的开源项目时是不是经常发现有个叫maven的东西? 2.第一次使用Android studio时是不是要下载一个gradle的玩意? 折腾了一天,想导入下github的客户端源码.当然现在还没成功...各种看不懂的错误.郁

第二章 醒来 《编码世界》

宋海穿越到这个编程世界上的这个人,也叫宋海,是百花谷大长老当年在海边捡的孤儿,因为当时脖子上挂着一个写着宋的宝石,然后大长老就给这个孤儿取名叫宋海. 心里想着,宋海急忙摸了摸脖子上的东西,东西还在,他坐了起来看了看,挺大的一块蓝宝石.应该能买个好几七万吧,宋海心里想着,“哈哈,这下发了.”他还大笑了起来. 他突然停止了大笑,又一副郁闷的表情“哎,我现在在异世界啊,想买宝石也不知道哪里买啊.” 他努力回想着,回想着编程世界宋海晕倒之前的事.昨天宋海和路平在一起. 说起路平其实和他一样也是个孤儿,也

Maven详解

一.前言     以前做过的项目中,没有真正的使用过Maven,只知道其名声很大,其作用是用来管理jar 包的.最近一段时间在项目过程中使用Maven,用Maven构建的web项目,其项目结构只停留在了解阶段,没有深入的使用与理解,刚好最近看了一篇关于Maven的详解:就开始深入学习一下Maven的具体应用. 二.Maven的作用 在开发中,为了保证编译通过,我们会到处去寻找jar包,当编译通过了,运行的时候,却发现"ClassNotFoundException",我们想到的是,难道还