maven学习笔记:20170606
最好的学习就是完成示例,并理解他们。
安装
在安装maven之前你首先必须安装JDK,并且配置环境变量。若你还没有安装,请自行搜索安装方法。这是因为maven是基于Java开发的。
下载maven项目
你可以选择官网下载,你也可以选择网盘下载。下载完成后解压压缩包,将解压文件夹放在你希望存放的位置。我们假设你存放的位置是【mvn】。
配置环境
下载后需要为maven配置环境变量: M2_HOME、M2、PATH
M2_HOME:【mvn】
M2:%M2_HOME%\bin
PATH:;%M2%(在后面添加)
验证
打开控制台,执行以下命令
mvn --version
执行完成后会显示以下信息
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-04T03:39:06+08:00)
Maven home: F:\ProgrameApp\apache-maven-3.5.0\bin\..
Java version: 1.8.0_91, vendor: Oracle Corporation
Java home: F:\ProgrameApp\Java\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
- 在这里我的安装目录【mvn】:F:\ProgrameApp\apache-maven-3.5.0
仓库
仓库可以存储所有的工程 jar 文件、library jar 文件、插件或任何其他的工程指定的文件。简单说就是仓库有我们所需要的东西,我们通过配置文件【pom.xml】向仓库中获取我们需要的资源。
在mvn中仓库有三种:
- 本地仓库
- 中央仓库
- 远程仓库
本地仓库
本机电脑的仓库,默认的本地仓库的位置为%USER_HOME% 目录下,当然你可以选择自定义的仓库的位置
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>C:/MyLocalRepository</localRepository>
</settings>
中央仓库
关于这个仓库需要注意
- 这是由mvn社区在管理的仓库
- 下载需要网络
- 不需要配置
远程仓库
远程仓库是开发人员自定义的仓库,你们可能是一些私有的jar包或资源。使用<repositories>
标签来设定。
pom.xml文件
pom.xml是工程对象文件,它描述了这个工程的组成。
基本信息
我们可以在pom能够配置的信息由以下
groupId:
它标识一个组织,公司
artifactId:
它标识一个项目
version:
它标识一个项目的版本
Super POM
所有的pom.xml都继承与一个父POM,它是隐式继承。
- 创建一个pom.xml文件,将下面的代码拷贝到任意一个路径【dir】。
<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.companyname.project-group</groupId>
<artifactId>project</artifactId>
<version>1.0</version>
</project>
或者你可以点击下载。
- 打开控制台,跳转到pom.xml文件所在的目录。
- 执行以下命令
mvn help:effective-pom
如果你如此做,你就会发现首先maven会下载一些依赖的jar包,然后会打印出pom.xml文件的内容。这时你就会发现pom.xml文件的内容增加了,这是因为继承了父类的原因。
自定义继承
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.0.BUILD-SNAPSHOT</version>
</parent>
生命周期
什么是生命周期?生命周期就是指,到达一个目标需要经历的几个步骤。对于一个项目,mvn定义的生命周期为以下:
- 资源拷贝
- 编译
- 打包
- 安装
当然,每个生命周期又有一些更为细节的周期。今天不在此过多叙述。因为自己学的不是特别清晰。