-V 查看版本
Compile 编译
Test 测试
Package 打包
Clean 清除target(字节码文件,测试报告)
Install 安装jar包到本地仓库(可以把项目打成jar包共其他项目使用)
Maven坐标和仓库
坐标 可以理解为构件的位置或者jar包的位置,
由groupId 和artifactId 来确定version用来确定构件的版本
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
仓库:
构件用来存放构件(jar)。分为本地仓库和远程仓库。
如果本地仓库找不到构件则会去maven的远程仓库中查找,查找到会下载到本地仓库。
如果找不到就会到全球中央仓库中查找,找不到报错
镜像仓库
因为全球中央仓库是在国外的,由于网络原因或者其他原因项目有时候访问不到,所以有了镜像仓库,镜像仓库在国内。修改镜像仓库位置:
找到maven的setting.xml修改mirror
Maven的生命周期
Clean 清理项目
Default 构件项目
Site 生成项目站点
Clean :
Pre-clean 执行清理前的工作
Clean 清理上次生成的所有文件
Post-clean 执行清理后的文件
Default 构件项目(核心)
Compile 编译
Test 测试
Package 打包
Install 安装jar包到本地仓库(可以把项目打成jar包共其他项目使用)
Site 生成项目站点
会根据pom自动生成项目站点
Pre-site 在生成站点前的工作
Site 生成项目站点文档
Post-site 生成站点后的工作
Site-deploy 发布站点到服务器上
Pom.xml常用元素
<!--根元素-->
<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">
<!--指定当前pom的版本-->
<modelVersion>4.0.0</modelVersion>
<!--坐标信息-->
<!--项目标识,用来定义某个实际的项目
maven项目与传统项目不一样,体现的是一种模块化的概念
反写的公司网站+项目名称-->
<groupId></groupId>
<!--定义模块 项目名称+模块名-->
<artifactId></artifactId>
<!--版本号
大版本号+分支版本号+小版本号+类型
snapshot 快照
alpha 内部测试
beta 公测
Release 稳定
GA 正式发布
-->
<version></version>
<!--打包方式 可以为war,zip,pom等-->
<packaging></packaging>
<!--项目描述名-->
<name></name>
<!--项目地址-->
<url></url>
<!--项目描述-->
<description></description>
<!--开发成员描述-->
<developers></developers>
<!--许可证-->
<licenses></licenses>
<!--组织信息-->
<organization></organization>
<!--编码-->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!--依赖-->
<dependencies>
<dependency>
<groupId></groupId>
<artifactId></artifactId>
<version></version>
<!--依赖范围-->
<scope></scope>
<!--设置依赖是否可选 true或false
默认为false
false该子项目默认为继承的
如果为true那么该子项目必须显示引入该依赖
-->
<optional></optional>
<!--排除依赖-->
<exclusions></exclusions>
</dependency>
</dependencies>
<!--依赖管理,用于定义公共依赖,子模块可以继承-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId></groupId>
<artifactId></artifactId>
<version></version>
</dependency>
</dependencies>
</dependencyManagement>
<!--插件列表-->
<build>
<plugins>
<plugin>
<groupId></groupId>
<artifactId></artifactId>
<version></version>
</plugin>
</plugins>
</build>
<!--通常用于在子模块中对父模块pom的继承-->
<parent></parent>
<!--用来聚合多个maven的项目-->
<modules>
<module></module>
</modules>
</project>