代码改变世界

Maven 基础

2017-09-29 22:09  cnblogs_qm  阅读(163)  评论(0编辑  收藏  举报
 

定义
    Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。 当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后 Maven 可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
 
术语
  • POM(Project Object Model):项目对象模型
  • repositories:Maven仓库
  • dependency management:依赖管理
  • build lifecycle:构建生命周期
 
速记符号
  • pluginId:goalId
 
核心概念
  • Maven插件和目标 (Plugins and Goals)
  • 插件:一个Maven插件是一个单个或者多个目标的集合。
  • Maven生命周期 (Lifecycle)
  • 验证(validation):
  • Maven坐标 (Coordinates)
  • groupId:团体标识
  • Maven仓库(Repositories)
  • 远程仓库
  • Maven依赖管理 (Dependency Management)
  • 传递性依赖
  • 站点生成和报告 (Site Generation and Reporting)
 
注:
[1] Maven执行一个阶段的时候,它首先会有序的执行前面的所有阶段,到命令行指定的那个阶段为止。
[2] Maven坐标定义了一组标识,它们可以用来唯一标识一个项目,一个依赖,或者Maven POM里的一个插件。
[3] 默认的远程仓库(http://repo1.maven.org/maven2)可以被替换。
 
 

安装 
注:安装前请确保JDK已经安装且已配置好环境变量(JAVA_HOME)。
Step0: 下载安装zip
 
Step1: 解压zip文件
 
Step2: 配置环境变量
  • 添加M2_HOME
  • 修改path
 
Step3: 验证安装结果
 
参考资料:
 

目录简介(version 3.2.5)
  • /bin:包含了运行Maven的mvn脚本
  • /boot:包含了一个负责创建Maven运行所需要的类装载器的JAR文件(plexus-classworlds-2.5.2.jar)
  • /conf:包含了一个全局的settings.xml文件,该文件用来自定义你机器上Maven的一些行为
  • /lib:包含了Maven核心JAR文件
  • LICENSE:
  • NOTICE:
  • README.txt:
 

常见配置
 
修改本地仓库位置
Step1: 迁移原库文件夹(${user.home}/.m2/repository)至新路径(E:\Apache\Software\maven\repository)
Step2: 修改 /conf/settings.xml
修改<localRepository></localRepository>节点值
Step3: 修改Eclipse配置
Window -> Preferences -> Maven -> User Settings
 
技巧:复制M2_HOME/conf/setting.xml至~/.m2/setting.xml
 

常用命令
 
mvn -v
功能:显示maven的版本信息(常备用于验证maven安装成功)
 
mvn clean install
 
mvn clean package