Maven 使用(一)

以前也只是用过最基本的东西  现在重新比较系统的学习整理一遍

一 :为什么使用Maven

  1.Maven更好的管理各个模块的依赖关系。

    2.Maven制定了一个统一的项目层次结构规范。

    3.Maven统一管理jar包方便


二.Maven是什么

1.Maven是一个基于项目(Project)对象(Object) 模型(Model)的自动化构建工具。

由java编写,仅适用于java平台。

2.什么是"构建"

是指在软件开发过程中,一个工程的编译,部署,搭建等环节的全过程。

最终在服务器运行的是编译后的结果。

构建中的各个环节:

1.清理(clean)

2.编译(bulid)

3.测试 (test)

4.报告 (report)

5.打包 (package)

6.安装 (install)

7.部署 (deploy)


三.Maven的下载,安装,验证

1.下载地址:http://maven.apache.org/download.cgi

2.解压核心包,得到如下目录结构

Maven 使用(一)_第1张图片

3.Maven安装包目录结构简介

bin:Maven的一些开发可执行脚本

boot:Maven的一个类加载器的框架,相当于Maven自己的类库

conf:Maven的配置信息文件夹,包含一个重要的配置文件:settings.xml

lib:Maven运行时所依赖自身和第三方的jar包

LICENSE:Maven的软件许可证

NOTICE:Maven包含第三方软件的声明

README:这个不用解释了把(滑稽脸)

4.配置Maven的环境变量

没什么好说的,首先你要配置了JAVA_HOME 这个环境变量 (也就是要先装JDK)

然后配置两个环境变量:

M2_HOME(需要自己添加):就是Maven安装时的路径,即bin目录的上一级

Path:Maven安装时的路径的下一级, 即bin目录

然后在控制台验证一下是否安装成功:mvn -v

成功的话显示如下结果:

Maven 使用(一)_第2张图片

四.Maven的几个核心概念

1.目录结构   

2.仓库

3.坐标

4.依赖

5.生命周期/插件/目标

6.继承

7.聚合

8.POM.xml


①:一个简单的maven工程的目录结构:

Maven 使用(一)_第3张图片

②Maven的仓库

仓库:Maven存储所有项目共享的插件和依赖信息存放的位置。

分为两大类:

1>本地仓库

2>远程仓库

2.1>私服:Nexus 设在当前局域网上

2.2>中央仓库:

2.3>中央仓库的镜像:各大洲有设 提高效率

由于maven核心文件不包含 构建工程时用到的插件jar包,所以当执行maven构建命令时,如果本地仓库找不到,会联网进行下载。

本地仓库默认存放在C:\Users\Administrator\.m2\repository ,Administrator 是指当前windows系统登录的用户。我们可以更改本地仓库的位置:

1.找到maven 核心安装包的路径,打开conf下的settings.xml,

(例如我自己是:E:\apache-maven-3.0.5\conf\settings.xml)

2.找到节点,将他从注释中剪切到外面,更改他的值与你本地仓库路径一致即可  以后前用户的Maven本地仓库就在这里,从远程仓库下载插件时都会放到这里。

③常用Maven命令:

mvn clean:清理,相当于把之前编译好的文件删除

mvn compile:编译主程序,会生成target目录,用来存放编译好的文件

mvn test-compile:编译测试程序

mvn test:执行测试

mvn package:打包

mvn install:安装当前工程的输出文件到本地仓库

④Maven的坐标

一个坐标可以对应唯一一个工程,由三个基本节点组成:

groupId:公司或组织域名的倒写+项目名,也就是\src\main\java 下的路径(包名)。

artifactId:工程(模块)名称

version:工程的版本:分为RELEASE(稳定版) 和 SNAPSHOT(快照版),我们一般引用依赖时最好用稳定版

详细节点位置如下:

Maven 使用(一)_第4张图片

Maven的依赖

1> Maven解析依赖的信息时会到本地仓库中寻找被依赖的jar包

对于我们自己开发的Maven工程,使用mvn install 命令 安装 进入本地仓库。

2> 依赖的常用范围

    2.1>compile(默认):对主程序有效,对测试程序有效,参与打包,参与部署,贯穿构建过程。例(spring-core)

    2.2>test:仅对测试程序有效。例(junit 4)

    2.3>provided:仅开发时有效,不参与打包,不参与部署,因为服务器上自带有该范围的依赖。例(servlet-api)


⑥Maven的生命周期

maven生命周期仅定义了一个接口,由插件具体实现。它有三套相对独立的生命周期,各个阶段有顺序,有依赖关系:

1>Clean Lifecycle:在进行真正的构建之前进行一些清理工作。

2>Default Lifecycle:构建的核心部分,编译,测试,打包,部署等等。

3>Site Lifecycle:生成项目报告,站点,发布站点。

五.在eclipse中使用maven

1>设置Maven插件

Installations:指定Maven核心文件的位置。


Maven 使用(一)_第5张图片

User Settings:指定settings.xml文件位置,用来找到本地仓库。

Maven 使用(一)_第6张图片

2>创建Maven版的java工程,web工程,执行Maven命令

2.1>java工程

File-->New-->Maven Project

Maven 使用(一)_第7张图片

输入G和A,打包方式选择jar,Finish

Maven 使用(一)_第8张图片


之后我们设置一下全局JDK的版本:

打开settings.xml 找到标签下添加:

Maven 使用(一)_第9张图片

2.2>创建Maven版的Web工程

打包方式那里选择war即可,其他步骤参照java工程,创建好了我们还需要设置一下(因为缺少WEB-INFO 文件夹下的信息)

右键项目名--》Properties--》Maven--》Project Facets

去掉红框中的勾,点Apply,再勾选它

Maven 使用(一)_第10张图片

会出现左下角的信息

Maven 使用(一)_第11张图片

点击进去,设置成如下:

Maven 使用(一)_第12张图片

一路OK-->Apply-->OK 即可。最后的结果如下:

Maven 使用(一)_第13张图片

上面有个图,但是不知道为啥老是看不到。。。

你可能感兴趣的:(Maven 使用(一))