Maven
1. 概述
ApacheMaven是一个软件项目管理和构建工具。基于项目对象模型(POM)的概念,Maven可以从中心信息中管理项目的构建、报告和文档
理解: maven构建项目(100%)而且帮你完成jar的统一管理。
思考: 原来的jar—从网址下载jar放入/WEB-INF/lib下—构建jar。
maven根据的坐标帮你从一个统一的网址自动下载和构建。[统一的网址:远程仓库]
2. maven管理jar的流程
maven构建的项目:在pom.xml文件中指定jar的坐标。
首先根据坐标在本地仓库找到对应的jar包,
若本地仓库找不到jar,在联网的情况下,从远程仓库查找,
找到后,也会放入本地仓库一份。
maven工程会根据pom.xml中的坐标先在本地仓库查找jar,如果找不到则从远程仓库查找,并把查找到的jar放入本地仓库,以便下次能找到
3. 安装maven并设置本地仓库的地址
1.将压缩包解压
bin目录:maven的脚本
conf目录:配置文件
lib目录:maven依赖的jar
2.配置本地仓库conf/setting.xml
修改maven的本地仓库地址
<localRepository>D:\repMaven</localRepository>
//D:\repMaven:为自己本地仓库的地址
3.修改为alibaba的远程仓库镜像
<mirrors>
<!-- 中央仓库在中国的镜像 -->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
4.配置maven的环境变量
- 编辑系统变量:变量名:MAVEN_HOME {名称固定}
变量值:maven的所在目录
- PATH:%MAVEN_HOME%\bin
5.测试
cmd——mvn -version
4.idea管理maven
配一个
配全部
5.idea创建maven的java工程
<!--引入jar-->
<dependencies>
<!--引入了jstl标签库-->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
https://mvnrepository.com/
6.maven创建web工程
缺少java和resources目录
替换web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
</web-app>
7.相关依赖
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.8</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.83</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
</dependencies>