Maven是一个项目管理工具,它包含了一个项目对象模型(PRoject Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。
n 项目对象模型
n 标准集合
n 项目生命周期
n 依赖管理系统
n 在生命周期各阶段插件和目录的逻辑
项目的生命周期
传统项目构建,每个环节都需要人工手动完成, Maven是自动化项目构建工具 ,帮助自动完成整个项目构建
搜索并下载maven
下载网址:http://maven.apache.org/download.cgi
n 下载3.1.1 版本 (最新版本)
apache-maven-3.1.1-bin.zip
n 解压maven项目(不要空格和中文)
bin 操作maven命令 (mvn.bat、mvnDebug.bat)
mvn、mvnDebug不带扩展名文件为linux操作系统提供
boot 提供maven自定义类加载器
conf 存放maven配置文件 (settings.xml 是maven核心配置文件)
lib 执行maven指令需要一些jar包
n 配置maven环境变量
首先需要确认系统中装有JDK(版本1.4+),将java_HOME/bin加入环境变量path
l 配置 MAVEM_HOME = maven压缩包解压目录
l 在path环境变量中 增加%MAVEN_HOME%/bin
在cmd窗口直接找到 mvc和mvnDebug命令文件
在cmd窗口下运行mvn-v检查maven是否安装配置成功
MAVEN_HOME/conf/settings.xml 核心配置文件
默认仓库位置: C:/Documents and Settings/seawind/.m2/repository文件夹
通过配置settings.xml中<localRepository>修改仓库位置
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
-->
<localRepository>D:/apache-maven-3.1.1/repository</localRepository>
settings.xml其它配置
被maven管理项目,需要在项目根目录有pom.xml
Maven要管理项目通过 坐标 (groupId、artifactId)
depencency 如果构建一个项目,这个项目依赖哪些项目
plug-in 插件,执行maven构建程序
n 在硬盘建立工作空间 ---- 存放项目源码的位置
n 使用maven命令创建一个项目
mvn archetype:create -DgroupId=cn.itcast.maven.quickstart -DartifactId=simple -DarchetypeArtifactId=maven-archetype-quickstart
这里 groupId 相当于package、artifactId相当于项目名称
第一次执行 maven构建项目时,需要下载相关插件包
src/main/java存放项目源码
src/test/java 存放测试代码
pom.xml 项目核心构建配置文件
进入项目目录 (pom.xml 所在文件夹)
建立项目到workspace 中
执行mvn 项目构建命令,进入项目根目录 (pom.xml所在目录)
Maven项目完整生命周期
l validate
l generate-sources
l process-sources
l generate-resources
l process-resources 复制并处理资源文件,至目标目录,准备打包。
l compile 编译项目的源代码。
l process-classes
l generate-test-sources
l process-test-sources
l generate-test-resources
l process-test-resources 复制并处理资源文件,至目标测试目录。
l test-compile 编译测试源代码。
l process-test-classes
l test 使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。
l prepare-package
l package 接受编译好的代码,打包成可发布的格式,如JAR。
l pre-integration-test
l integration-test
l post-integration-test
l verify
l install 将包安装至本地仓库,以让其它项目依赖。
l deploy 将最终的包复制到远程的仓库,以让其它开发人员与项目共享。
n 转换Eclipse工程 (在pom.xml目录执行)
u mvn eclipse:eclipse
u mvn eclipse:clean //清除Eclipse设置信息
n 转换成IDEA 工程(在pom.xml目录执行)
u mvn idea:idea
u mvn idea:clean //清除idea设置信息
n 显示一个插件的详细信息(configuration, goals等):
u mvn help:describe -Dplugin=pluginName -Ddetail
新闻热点
疑难解答