126. maven补充
安装
注意:解压压缩包到本地磁盘(解压目录不要有中文、空格)
目录讲解
- bin:可执行的脚本命令
- conf:配置文件
- lib:maven项目运行需要的jar包
maven的好处
maven项目找jar包的过程
maven好处如何实现
maven的两大核心
依赖管理:对jar包管理过程
项目构建:项目在编码完成后,对项目进行编译、测试、打包、部署等一系列操作都通过 命令
实现
实例
通过maven命令将web项目发布到tomcat:
1
mvn tomcat:run
maven安装、配置本地仓库
maven程序安装前提:maven程序java开发,它的运行依赖:jdk。
maven的下载安装
jdk需要有:
JAVE_HOME
- 官网下载
- 解压到本地磁盘(解压目录不要有中文、空格)
- 配置环境变量
MAVEN_HOME
:bin
目录上一级- 将
MAVEN_HOME
环境变量配置到path
环境变量中:%MAVEN_HOME%\bin
- 测试
1
mvn -v
配置本地仓库
在本地磁盘上存储各种各样的jar包
仓库类型

配置本地仓库
- 找到jar包仓库压缩包(配套文件中的
bos_repository.zip
) - 解压到本地磁盘
- 配置本地仓库:让maven程序知道仓库在哪(maven-conf-settings.xml)
1
<localRepository>[改为自己的本地仓库目录]</localRepository>
maven标准目录结构
对项目文件进行细分:
src
: 项目源码pom.xml
: project object module(maven项目核心配置文件)target
: src项目源码编译完成存到target文件夹中(不属于maven项目标准目录结构)
maven常用命令
clean
: 清理将项目根目录target目录清理
compile
: 编译将项目中
.java文件
编译为.class文件
test
: 单元测试将项目根目录下
src/test/java
目录下的单元测试类都会执行
单元测试类名有要求:XxxxTest.java
package
: 打包
web project — war包
java project – jar包将项目打包,导报项目根目录下target目录
install
: 安装解决本地多个项目公用一个jar包
打包到本地仓库
maven项目的生命周期
在maven中存在“三套”生命周期,每一套生命周期相互独立,互不影响。
- CleanLifeCycle: 清理生命周期
- clean
- defaultLifeCycle: 默认生命周期
- compile
- test
- package
- install
- deploy
- siteLifeCycle: 站点生命周期
- site
在一套生命周期内,执行后面的命令前面的命令会自动执行。
创建maven项目
- Group Id: 公司名称(公司域名倒写)
- Artifact Id: 项目名称
- Version: 版本:
- SNAPSHOT: 测试版本
- RELEASES: 正式版本(发行版本)
- Packaging: 打包方式
- jar: java project
- war: web project
- pom: 父工程
依赖范围
依赖范围 | 对于编译classpath有效 | 对于测试classpath有效 | 对于运行classpath有效 | 例子 |
---|---|---|---|---|
compile | Y | Y | Y | spring-core |
test | - | Y | - | Junit |
provided | Y | Y | - | servlet-api |
runtime | - | Y | Y | JDBC驱动 |
system | Y | Y | - | 本地的,maven仓库之外的类库 |
添加依赖范围:默认compile
privided: 运行部署到tomcat不再需要
如果将
servlet-api.jar
设置为compile
,打包后包含servlet-api.jar
,war包部署到tomcat跟tomcat中存在的servlet-api.jar
冲突,导致运行失败。
总结:如果使用到tomcat自带的jar包,一定要将项目依赖范围设置为:provided