maven概述
- 为什么?
- 之前项目中会有大量的jar包,面临难以维护:①找到这些jar包比较麻烦;②还会存在版本冲突问题
- 组成
- ①项目对象模型:pom , project object model
- 根据maven的核心配置文件pom.xml生成
- ②依赖管理:dependency
- 对jar包进行统一管理
- ③构建生命周期 : build project lifecycle
- 使用插件对项目的生命周期管理
- ①项目对象模型:pom , project object model
- 作用
- ①对依赖进行统一管理
- ②使用maven快速构建项目
- ③统一项目目录结构
maven环境搭建
- 下载
- 推荐
- idea2019 + maven3.5.4
- idea2020及以上 + maven3.6.3
- 安装
- 直接解压
- 配置环境变量
- MAVEN_HOME
maven的目录结构
- 目录结构
- bin
- 存储maven的可执行文件
- boot
- 存储maven运行所需的类加载器
- conf
- 存储maven的配置文件,比如:settings.xml
- lib
- 存储maven运行所需的jar包
- bin
maven的坐标
- 概述
- 用于确定jar包在仓库中的位置
- 组成
- ①groupid : 公司名称
- ②artifactid : 项目名称
- ③version:版本名称
maven仓库
- 分类
- 本地仓库
- 开发者自己电脑上存储资源的仓库,也可从远程仓库获取资源
- 私服
- 远程仓库的一种
- 中央仓库受带宽限制,且服务器架设在国外,下载速度非常慢,私服可以提升jar包下载速 度;
- 保存具有版权的资源,包含购买或自主研发的jar;
- 一定范围内共享资源,能做到仅对内不对外开放。
- 中央仓库
- 远程仓库的一种
- maven团队自身维护的仓库,属于开源的
maven仓库设置
- 概述
- 开发人员,需要设置maven本地仓库、maven中央仓库的镜像。
- maven本地仓库
- 默认路径是在"${user.home}/.m2/repository",系统盘符的存储空间比较珍贵,所以需要重新设置本地仓库的路径
<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>E:\mavenrepository\repository</localRepository>
</settings>```
**maven中央仓库**
- 中央仓库是由maven官方团队维护,服务器架设在国外,下载速度非常慢。
```java
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
maven的项目结构
- javase项目结构
- src
- main
- java
- resources
- test
- java
- resources
- main
- pom.xml
- src
- javaweb项目结构
- src
- main
- java
- resources
- webapps : 页面资源
- test
- java
- resources
- main
- pom.xml
- src
插件创建maven项目
插件创建javase项目
-
- 插件创建javaweb项目
-
-
利用idea配置maven项目
idea创建maven的javase项目
idea创建maven的javaweb项目
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-31x0Ps37-1639913889905)(C:\Users\qiuzhiwei\AppData\Roaming\Typora\typora-user-images\image-20211218102544919.png)]
maven运行tomcat(掌握)
-
①本地tomcat插件
-
②内置tomcat插件
- 默认使用的tomcat6.0版本,会有版本兼容问题,要求设置为tomcat7.0
<build> <plugins> <!--maven的tomcat插件--> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <!--项目访问路径--> <path>/mavenweb</path> <!--项目访问端口--> <port>8080</port> </configuration> </plugin> </plugins> </build>
③其他细节
<dependencies>
<!--服务器编译环境-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.3</version>
<scope>provided</scope>
</dependency>
</dependencies>
<!--jdk的编译版本-->
<plugin>
<groupId>org.apache.maven.plugins</groupId