?.什么是Maven,官方的解释:Maven is a project management tool which encompasses a project object model,a set of standards ,a project lifecycle,a dependency,management system, and logic for executing plugin goals at defined phases in a lifecycle
?.了解maven:
?Maven2的目标:
–使项目构建构成更容易;
–提供统一构建系统(编译、测试、持续整合...);
–提供高质量的项目信息(依赖、报告、site...);
–提供开发的最佳实践指南;
–能无缝的加入新的特性;
?对Maven2的错误认识:
–Maven2是一个站点和文档制作工具;
–Maven2扩展了Ant,使其可以下载到各种依赖包;
–Maven2使一系列可以重用的Ant脚本;
?.maven的主要功能:
?项目构建(builds)、文档编制(documentation)、报告(report)、依赖管理(dependencies)、配置管理(SCMS)、发布管理(releases)
?.maven可以构建那些类型的项目:ear,war,jar,zip,ejb
?.maven中的几个概念:
?POM(project object model) maven的核心文件,位于每个工程的根目录中,指示maven如何工作的数据元文件,类似于ant的build.xml文件
?依赖(dependency)为了能够构建或运行,java工程一般会依赖于其他的包。在maven中这些被依赖的包称为dependency.dependency一般是其他工程的artifact;
?仓库(repository):用于存放artifact,可以是本地仓库,也可以是远程仓库。maven默认的有一个远程仓库--central,可以从http://www.ibiblio.org/maven 下载其中的artifact.window上,本地仓库的默认地址是USER_Home\.m2\repository.
?GroupId:工程有一个全局的标识符,一般来说就是工程名。groupid有利于使用一个完全的包名,将一个工程从其他有类似名称的工程里区别出来。
?Artifact:工程将要产生或将要使用的文件,(jar文件,源文件,二进制文件,war文件,甚至是pom文件),每一个Artifact都有一 个groupid和artifactid的标识唯一识别 ,需要呗使用(依赖)的artifact都要放在仓库里面,否则maven无法找到他。
?插件(Plug-in) maven是由插件组织的,每一个功能都是由插件提供的。插件提供goal(类似ant中的target),并根据在pom中找到的元数据去完成工作、
?Snapshot:工程中可以(也应该)有一个特殊的版本,他的版本好包括SNAPSHOT字样。该版本告诉maven,该工程 正处于开发阶段,会经常更新(但还未发布),当其他工程使用此类型的artifact时,maven会在仓库中寻找该artifact的最新版本,并自动 下载使用该最新版,发布版本是release,当然这个也无需特殊标识。
?.maven如何工作:
1.到http://maven.apache.org/download.html 下载maven的最新稳定版
3.配置好JAVA_HOME环境变量,并新增M2_HOME环境变量,值是你的解压目录
4.在path环境变量中添加maven的执行路径:%M2_HOME%\bin;
5.新开一个命令行窗口,输入:mvn –version 来测试安装,如果安装成功,提示输出如下:
C:\Documents and Settings\Administrator>mvn -version
Apache Maven 2.2.1 (r801777; 2009-08-07 03:16:01+0800)
Java version: 1.5.0_08
Java home: C:\Program Files\Java\jdk1.5.0_08\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 2003" version: "5.2" arch: "x86" Family: "windows"
6.其中可以看到maven的版本号,java的版本机器路径,以及操作系统等环境信息
7.当然,maven2可以在JDK1.4上工作,但强烈建议使用JDK5或者JDK6的java环境