Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目。
maven可以帮助管理我们的项目
底层:基于java
特色:完成对jar包资源的管理
Maven常用命令
pom.xml
存放资源坐标
所有 POM 文件都需要 project 元素和三个必需字段:groupId,artifactId,version
xxxxxxxxxx
201
2<project xmlns="http://maven.apache.org/POM/4.0.0"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5 <modelVersion>4.0.0</modelVersion>
6
7 <!--
8 groupId、artifactId、version这三个标签对应的是一个坐标
9 一个坐标会在仓库中映射到一个jar包资源
10 -->
11
12 <!--组织名称-->
13 <groupId>org.example</groupId>
14 <!--工程名称-->
15 <artifactId>day31_maven_01</artifactId>
16 <!--版本号-->
17 <version>1.0-SNAPSHOT</version>
18
19
20</project>
父(Super)POM是 Maven 默认的 POM。所有的 POM 都继承自一个父 POM(无论是否显式定义了这个父 POM)。父 POM 包含了一些可以被继承的默认设置。因此,当 Maven 发现需要下载 POM 中的 依赖时,它会到 Super POM 中配置的默认仓库 http://repo1.maven.org/maven2 去下载。
Maven 使用 effective pom(Super pom 加上工程自己的配置)来执行相关的目标,它帮助开发者在 pom.xml 中做尽可能少的配置,当然这些配置可以被重写。
使用以下命令来查看 Super POM 默认配置:
xxxxxxxxxx
11mvn help:effective-pom
本地仓库:
存放的就是对应的jar包资源,在程序中可以根据坐标去映射
远程仓库:
通过一个坐标映射去本地仓库去找资源,但是本地仓库没有对应的jar包资源,这个时候maven会自动的去连接远程仓库,根据坐标下载对应的jar包资源到本地仓库(这种情况下你的电脑是必须联网的,不然就会下载失败)
更改默认仓库标签,在xml文件中添加下面标签
apache-maven-3.3.9\conf\settings.xml
xxxxxxxxxx
11<localRepository>D:/Maven/maven_work</localRepository>
Maven 仓库默认在国外, 国内使用难免很慢,我们可以更换为阿里云的仓库。
修改 maven 根目录下的 conf 文件夹中的 settings.xml 文件,在 mirrors 节点上,添加内容如下:
xxxxxxxxxx
61<mirror>
2 <id>aliyunmaven</id>
3 <mirrorOf>*</mirrorOf>
4 <name>阿里云公共仓库</name>
5 <url>https://maven.aliyun.com/repository/public</url>
6</mirror>
File → settings→搜索maven
配置Maven home directory路径
User settings file选中Override改成对应maven下的settings.xml文件
修改Runner中maven的JER运行时环境改成所使用的jdk版本
全局生效需要在IDEA主页面Configure中设置
xxxxxxxxxx
111<!--这个标签里面是用来写坐标的-->
2<dependencies>
3
4 <!--导入单元测试的资源-->
5 <dependency>
6 <groupId>junit</groupId>
7 <artifactId>junit</artifactId>
8 <version>4.13</version>
9 </dependency>
10
11</dependencies>
尝试搭建一个spring + springMVC + Maven这样的架构