Java Web --Maven
Maven
maven仓库概述
maven工程中并不放置jar包,而是jar包的坐标
- 运行机制 当启动maven工程时,maven项目会通过本地jar包的坐标,去maven设置的仓库中寻找对应的jar包
-
maven默认仓库路径 –localRepository The path to the local repository maven will use to store artifacts. Default: ${user.home}/.m2/repository - 本地仓库 –user.home表示系统盘用户目录,再次目录创建.m2文件夹,里面在创建repository,该仓库为本地仓库,如为新安装的maven,则该目录下不会有jar包
- 中央仓库 –若电脑联网,maven会找到中央仓库下载jar包,这里面放置了几乎所有开源的jar包
- 远程仓库 –公司为了不联网也可以开发,会再创建一个仓库–远程仓库(私服),通过局域网即可访问,若远程仓库无所需jar包,则远程仓库会从中央仓库下载jar包,远程仓库的jar包部分也来源于本地仓库(上传)
maven标准目录结构
- 一个完整的项目可分为核心代码部分,配置文件部分,测试代码部分和测试配置文件部分。
- 目录结构
- src
- main
- java –核心代码部分
- resources –配置文件部分
- webapp –页面资源,js,css,图片等(web工程才有)
- test
- java –测试代码部分
- resources –测试配置文件
- main
maven常用命令
- mvn clean –删除target目录,删除编译好的项目
- mvn compile –生成target目录,里面将项目中src/main/java代码编译
- mvn test –target目录生成,里面放置编译好了的src/test/java文件,此命令会编译正式项目的代码
- mvn package –target目录生成,编译了测试代码和正式代码,并打包(.war)–默认
- mvn install –target目录生成,编译测试和正式代码并打包,把包安装到本地仓库
maven生命周期
- maven一键构建 –核心功能之一
- 清除项目编译信息(clean)–>编译(compile)–>测试(test)–>打包(package)–>安装(install)–>发布(deploy–执行此命令之前需要先进行配置)
- clean为一个独立的生命周期–清理生命周期
- 编译到发布为一个是默认生命周期,执行到后面的命令,会先走一遍前面的命令(主要)
- 站点生命周期(用得不多)
- 清除项目编译信息(clean)–>编译(compile)–>测试(test)–>打包(package)–>安装(install)–>发布(deploy–执行此命令之前需要先进行配置)
maven概念模型图
- 项目对象模型(POM) –maven工程中的pom.xml文件,包含三类信息
- 项目自身的信息
- 项目运行所依赖的jar包信息
- 独立出来一个模型叫依赖管理模型(Dependency) –放置的jar包的坐标
- 包含内容
- 公司组织的名称 groupid
- 项目名 artifactid
- 版本号 version
- 寻找jar包的仓库顺序 –local(本地仓库)–>b2b(远程仓库)–>central(中央仓库)
- 包含内容
- 独立出来一个模型叫依赖管理模型(Dependency) –放置的jar包的坐标
- 项目运行环境信息(JDK,Tomcat…)
-
上述为maven第一个核心功能 –依赖管理
- Build lifecycle & phases –构建生命周期
- 每一个构建项目的命令都对应的maven底层的一个插件
- 最后两级即为maven第二个核心功能–一键构建