什么是Maven?
翻译为专家,内行。Maven是跨平台的项目管理工具。主要服务于基于Java平台的项目构建,项目管理和项目信息管理。那么怎么样才算是理想的项目构建呢?理想的项目构建就是必须具备高度自动化,跨平台,可重用的组件,标准化这些特性。
什么是依赖?为什么要进行依赖管理?
- 所谓的依赖就是自动下载。进行依赖管理主要是为了统一的对这些依赖进行管理。
都有哪些项目信息?
-项目名称描述,开发者信息,开发人员信息,项目的版本号等等。
什么项目构建?
- 所谓的项目构建就是对项目进行清理、编译、测试、报告、打包、部署等一系列的过程称为项目的构建如下图所示:
Maven模型
如下图所示:
它将每一个项目都当成了一个对象POM,通过依赖管理Dependency从仓库中进行存取。通过插件对Maven的生命周期进行管理,生命周期的每一个阶段都由相应的插件进行支持。由不同的命令激活不同的插件进行工作。
Maven的主要内容主要包括以下几个部分:
- 为什么要使用Maven
- Maven的安装与配置
- 第一个Maven相关概念
- Maven与Eclispe整合-Nexus
- 部署构建至Nexus
为什么使用Maven?
项目构建的工具有很多 IDE、Eclipse、Ant、Maven
不使用IDE和Eclipse构建项目的原因?
- 手工操作较多,编译、测试、部署等工作都是独立的,很难一步完成。
- 每个人的IDE配置都不同,很容易出现本地代码换个地方编译就出错。
不使用Ant的原因?
- 没有一个约定的目录结构
- 必须明确让Ant做什么,什么时候做然后编译,打包。
- 没有生命周期,必须定义目标及其实现的任务序列。
- 没有集成依赖管理。
使用Maven的原因?
- 拥有约定的目录结构,知道你的代码在哪里,放到哪。
- 拥有一个生命周期,例如执行mvn install 就可以自动执行编译,测试,打包等构建过程。
- 只需要定义一个pom.xml,然后将源码放到默认的目录,Maven帮你自动处理其他事情。
- 拥有依赖管理,仓库管理。
Maven的安装
(一) Windows系统安装Maven:
1、检查JDK安装的情况(需要1.6以上)
echo %JAVA_HOME%
java -version
2、对apache-maven-3.0.3-bin.zip进行解压,例如解压到如下目录(解压目录路径中最好不要包含中文)
3.设置系统环境变量,MAVEN_HOME
4、设置环境变量Path,将%MAVEN_HOME%\bin加入Path中,一定要注意使用分号 ; 与其他值隔开。
5、验证安装是否成功,打开cmd窗口,输入mvn -v进行查看
(二) Mac系统安装Maven的方式
1、打开终端,查看JDK的安装情况,查看JDK版本
liuliuxundeMacBook-Pro:~ liuxun$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home
liuliuxundeMacBook-Pro:~ liuxun$ java -version
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)
2、将maven包解压到用户目录下 如下图所示
3、配置变量 MAVEN_HOME以及Path变量
使用vi编辑器编辑 ~/.bash_profile 文件,即vi ~/,bash_profile配置如下:
然后 输入 :wq 保存并退出。
4、重启终端 输入 mvn -v
需要注意的是:Mac 查看变量 需要在变量前加$号。另外设置Path的时候 多个变量间使用:分开。
Maven的配置
Maven安装目录分析
bin:含有mvn运行的脚本。
boot:含有plexus-classworlds类加载器框架。
conf:含有setting.xml配置文件
lib: 含有Maven运行时所需要的Java类库。
LISTENSE.txt,NOTICE.txt,README.txt针对Maven的版本,第三方软件等简要介绍。
初始化配置:
设置MAVEN_HOME环境变量: 已设置, 升级时只需要下载最新版本,解压后重新设置MAVEN_HOME环境变量即可。
设置MAVEN_OPTS环境变量:-Xms128m -Xmx512m 设置Maven仓库占用的空间大小。
配置用户范围的settings.xml:
MAVEN_HOME/conf/settings.xml全局的配置文件
~/.m2/settings.xml: 与默认仓库对应的配置文件。
默认仓库: 当前用户C:\users\[username]\.m2\repository
一般可以自定义用户的仓库 而不再使用默认仓库 配置方法 在 MAVEN_HOME/conf/settings.xml配置中设置路径执行仓库目录
<localRepository>/Users/liuxun/maven_repository/repository</localRepository>
然后将此全局的配置文件保存,并复制到自己仓库的同级目录
本地仓库同级目录的settings.xml文件的内容必须和全局的settings.xml配置文件完全一致。
注意:
用户级别的仓库在全局配置中一旦设置,全局配置将不再生效 专用用户设置的仓库,否则使用默认路径仓库。
遵守Maven的约定
src/main/java ——存放项目的.java文件
src/main/resources ——存放项目的资源文件,如spring,hibernate配置文件
src/test/java —— 存放所有测试的.java文件,例如Junit测试类
src/test/resources —— 测试的资源文件
target —— 项目的输出位置
pom.xml —— maven项目核心配置文件
Maven的简单入门
第一个简单示例:
第一步:首先建立MavenHelloWorld项目同时建立Maven约定的目录结构。
MavenHelloWorld
第二步:在/src/main/java/my/test/maven目录下新建文件HelloWorld.java
package my.test.maven;
public class HelloWorld {
public String sayHello(String name){