码迷,mamicode.com
首页 > 其他好文 > 详细

Maven入门-1.介绍及搭建开发环境

时间:2015-12-31 19:04:35      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:

####?一、Maven介绍

Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Maven是一个项目管理工具,它包含了一个项目对象模型?(Project?Object?Model),一组标准集合,一个项目生命周期(Project?Lifecycle),一个依赖管理系统(Dependency?Management?System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。
所有的项目配置信息都被定义在一个叫做POM.xml的文件中,通过该文件,Maven可以管理项目的整个声明周期,包括编?译,构建,测试,发布,报告等等。目前Apache下绝大多数项目都已经采用Maven进行管理。而Maven本身还支持多种插件,可以方便更灵活的控制项目
**Maven的核心**其实不做什么实际的事情,除了解析一些?XML?文档,管理生命周期与插件之外,它什么也不懂。Maven?被设计成将主要的职责委派给一组?Maven?插件,这些插件可以影响?Maven?生命周期,提供对目标的访问。
#####?1.1?Maven和Ant的比较?
Ant:你需要告诉它做什么,怎么做,做完放哪
1.??在Ant中,你需要明确告诉它你想让它做什么,需要一步步的告诉它源码在哪,编译完的class文件放哪,然后你还想打成war包
2.??Ant是显示的调用,它没有约定一个项目一般目录结构,你必须明确的告诉它目录在哪,目录里是什么?
3.??Ant没有生命周期

Maven:
1.??Maven拥有约定:约定了什么目录放什么
2.??Maven是声明式的:所有的操作都在pom.xml中,其他的交给maven
3.??Maven有生命周期:在一个Maven的生命周期中会有一系列的步骤被执行,Maven会运行很多插件的目标。


####?二、搭建Maven环境
下载Maven:http://maven.apache.org/download.html
然后解压到一个目录即可
#####?2.1?配置环境变量
添加MAVEN_HOME:maven的安装目录
然后在path中添加路径到maven的主目录的bin目录下
例如:
MAVEN_HOME:D:\apache-maven-3.0.3
path的最前面添加:D:\apache-maven-3.0.3\bin;
#####?2.2?测试安装是否成功
打开cmd输入:mvn?-v
显示Apache?Maven?3.3.9?版本信息则成功
#####?2.3?配置Maven的本地仓库位置
所谓本地仓库,就是maven下载的jar存放路径(默认在用户的.m2目录下)
默认Maven的本地仓库位置一般在c盘的用户目录下,这样会占空间。一般要调整仓库的位置
打开apache-maven-3.0.3\conf目录下的settings.xml文件
找到如下行,在下方添加一行
```xml
<!--?localRepository
????|?The?path?to?the?local?repository?maven?will?use?to?store?artifacts.
????|?Default:?~/.m2/repository
?<localRepository>/path/to/local/repo</localRepository>
-->
```

添加自己的仓库位置
```xml
<localRepository>E:/JavaDev/maven/repository</localRepository>
```

最后还要把刚才设置的?settings.xml文件拷贝到本地仓库s?E:/JavaDev/maven/repository目录下


####?三、Maven的约定

在没有自定义的的情况下:
java源代码假定是在${basedir}/src/main/java下
资源配置文件假定是在${basedir}/src/main/resources下
测试代码假定是在${basedir}/src/test下
测试使用的资源假定是在${basedir}/src/test/resources下
编译好的class文件假定是在${basedir}/target/classes下
生成的jar包和war包假定是在${basedir}/target下
pom.xml文件在${basedir}下


Maven项目类型:
1.?maven-archetype-j2ee-simple?(J2EE?项目)
2.?maven-archetype-portlet?(门户)
3.?maven-archetype-quickstart?(一般?Java?project)
4.?maven-archetype-site?(复杂站点)
5.?maven-archetype-site-simple?(简单站点)
6.?maven-archetype-webapp?(Java?Web?站点)

####?四、Maven的安装目录结构

**bin**:?该目录包含了mvn运行的脚本,这些脚本用来配置Java命令,准备好classpath和相关的Java系统属性,然后执行Java命令。
**boot**:?该目录只包含一个文件,?以?maven?3.0?为例,?该文件为?plexus-classworlds-2.2.3.jar。?plexus-classworlds
是一个类加载器框架,相对于默认的?java?类加载器,它提供了更丰富的语法以方便配置,Maven?使用该框架加载自己的类库
**conf**:??该目录包含了一个非常重要的文件?settings.xml。
**lib**:??该目录包含了所有?Maven?运行时需要的?Java?类库。其其中Maven核心的JAR文件为(maven-\*.\*-uber.jar)








Maven入门-1.介绍及搭建开发环境

标签:

原文地址:http://www.cnblogs.com/meet/p/5092396.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!