一、Maven简介
Maven是一个纯Java编写的项目管理和综合工具,提供了开发人员构建一个完整的生命周期框架,包括清除、编译,测试,报告、打包、部署等等。开发团队可以自动完成项目的基础工具建设。简而言之。Maven是一个强大的Java项目构建工具。那什么是项目构建工具?
构建工具是将软件项目构建相关的过程自动化的工具。构建一个软件项目通常包含以下一个或多个过程:
- 生成源码(如果项目使用自动生成源码)
- 从源码生成项目文档
- 编译源码
- 将编译后的代码打包成JAR文件或者ZIP文件
- 将打包好的代码安装到服务器、仓库或者其它的地方
有些项目可能需要更多的过程才能完成构建,这些过程一般也可以整合到构建工具中,因此它们也可以实现自动化。自动化构建过程的好处是将手动构建过程中犯错的风险降到最低。而且,自动构建工具通常要比手动执行同样的构建过程要快。
二、Maven作用
- 统一开发规范与工具:使用Maven构建的普通Java项目,对源代码、单元测试代码、资源乃至后续需要的文件都有专门的目录规划;
- 统一管理jar包(声明式依赖管理);
三、Maven下载jar包的流程
1、无私服:
首先去本地仓库查找,若没有去中央仓库,如果中央仓库没有就报错。
2、私服:
首先去本地仓库查找,没有则去私服查找,私服都没有,那么去中央仓库查找,如果中央仓库没有就报错。
四、Maven之POM
Maven的中心思想是POM项目对象模型(Project Object Model )文件。POM是以XML文件的形式表述项目的资源,如源码、测试代码、依赖(用到的外部Jar包)等。POM位于项目的根目录下。
结合pom.xml实例,介绍POM文件的主要组成部分:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.yy.maven</groupId>
<artifactId>HelloWorld</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>Hello</name>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
1、modelVersion
指定了当前Maven模型的版本号;
2、groupId
公司名或是组织名。一般来说groupId是由三个部分组成,每个部分之间以”.”分隔,一是项目用途,比如用于商业的就是”com”,用于非营利性组织的就是”org”;二是公司名,比如”tengxun”、”baidu”、”alibaba”、“yy”;第三部分是你的项目名,如:“maven”;
3、artifactId
Maven构建的项目ID,比如你的项目中有子项目,就可以使用”项目名-子项目名”的命名方式;
4、version
版本号,SNAPSHOT意为快照,说明该项目还在开发中,是不稳定的版本;release为发行版本,最终版本;
注意:在Maven中很重要的一点是,groupId、artifactId、version三个元素生成了一个Maven项目的基本坐标;
5、packing
项目打包的类型,可以使jar、war、rar、ear、pom,默认是jar;
6、dependencies和dependency
项目中不可避免的,会依赖很多其他的jar包,在Maven中,这些依赖就被称为dependency;例如示例中声明了“junit4.9的jar包”;
scope:依赖的jar包的使用范围, test 即当测试时使用该jar包,compile(默认)
注意:test不会间接依赖。只有compile才会间接依赖
7、properties
properties是用来定义一些配置属性的,例如project.build.sourceEncoding(项目构建源码编码方式),可以设置为UTF-8,防止中文乱码,也可定义相关构建版本号,便于以后统一升级;
8、build
build表示与构建相关的配置,比如build下有finalName,表示的就是最终构建之后的名称。
五、Maven项目结构
六、安装Maven
1、下载Maven压缩版:
这里用的为3.0.5版本,也可以到官网下载最新版本,下载地址:http://maven.apache.org/download.cgi。
2、解压文件(目录介绍):
lib :maven软件依赖的lib jar包;
boot :plexus-classworlds-2.x.jar ,为jar包下载的引擎 ,通过该工具来下载jar包。
conf:settins.xml(maven 配置文件 ):配置的是本地仓库地址 以及服务器的验证;
bin:maven 可执行的命令
3、将maven添加到环境变量:
添加maven_home
添加path
4、配置本地仓库:
首先将setting复制到C:\Users\xxx.m2文件夹下
修改本地仓库的地址(我自己仓库地址在D:/work)
5、修改镜像地址:
国外网站下载jar速度慢,可以修改setting文件(国内镜像);
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
七、Maven常用命令
- 首先应该进入项目目录;
- 常用命令:
mvn clean :清除
mvn compile :编译
mvn package :打包
mvn install : 安装到本地仓库
mvn deploy :部署 ,部署到私服 (局域网或者是外网)
注意:使用某一个命令,会依次执行前面的生命周期过程,比如,执行mvn deploy命令,maven会首先clean->compile->package->install->deploy