文件目录
src
-main
-java
-package
-test
-java
-package
常用指令
mvn -v 查看maven版本
compile 编译
test 测试
package 打包
clean 删除target目录
install 安装jar包到本地仓库
创建目录的两种方式
1. archetype:generate,根据提示创建
2. archeteype:generate -DgroupId=xxx 组织名,一般是公司网址的反写+项目名
-DartifactId=xxx 项目-模块名
-Dversion=版本号
-Dpackage=代码包
maven坐标和仓库
依赖、插件等称为构件
坐标则是他们的地址
仓库
本地仓库和远程仓库
镜像仓库
maven生命周期
clean 清理项目
default 构建项目
site 生成项目站点
命令执行顺序:clean、compile、test、package、install
clean 清理项目
pre-clean
clean
post-clean
pom.xml常用元素介绍
project
modelVersion指定了当前pom的版本
groupId 定义当前maven属于哪个实际项目
artifactId 实际项目中的一个模块 项目名+模块名
version 当前项目的版本号 第一个表示大版本号,第二个表示分支版本号,第三个表示小版本号
不重要
packaging 表示maven项目的打包方式:默认jar,还有war zip pom
name 项目的描述名
url 项目的地址
description 项目的描述
developers 项目开发者信息
licenses 许可证信息
organization 组织信息
dependencies 依赖列表
dependency 依赖项的内容,通过坐标指定
groupId
artifactId
version
type
scope 指定依赖的范围
optional 设置依赖是否可选
exclusions 排除依赖传递列表
exclusion
dependencyManagement 依赖管理
dependencies 设置被管理的依赖列表,不会被引用到实际的依赖中,可以设置依赖版本,然后被子类继承
build 提供构建过程中的相应知识
plugins 插件列表
plugin 插件信息,指定坐标
parent 子模块中对父模块pom的继承
artifactId,name,prerequisites不会被子类继承,也就是说不会产生对父模块的依赖
modules 定义多个模块,同时进行编译
maven 依赖范围
compile:编译、测试、运行中都可用,默认的
provided:编译、测试均可用
runtime:测试、运行时有效
test:测试时有效
system:和provided类似,与本机系统相关
import:导入范围,只使用在pom类型的dependencyManagement中,表示从其他的pom中导入dependency的配置