Maven
Maven介绍
- Maven是 Apache 下的一个纯 Java 开发的开源项目
- 基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤
- Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理
Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目。
maven可以帮助管理我们的项目
底层:基于java
特色:完成对jar包资源的管理
Maven常用命令
- mvn archetype:generate 创建Maven项目
- mvn compile 编译源代码
- mvn deploy 发布项目
- mvn test-compile 编译测试源代码
- mvn test 运行应用程序中的单元测试
- mvn site 生成项目相关信息的网站
- mvn clean 清除项目目录中的生成结果
- mvn package 根据项目生成的jar
- mvn install 在本地Repository中安装jar
- mvn eclipse:eclipse 生成eclipse项目文件
- mvnjetty:run 启动jetty服务
- mvntomcat:run 启动tomcat服务
- mvn clean package -Dmaven.test.skip=true:清除以前的包后重新打包,跳过测试类
Maven核心配置文件
pom.xml
存放资源坐标
所有 POM 文件都需要 project 元素和三个必需字段:groupId,artifactId,version
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!--
groupId、artifactId、version这三个标签对应的是一个坐标
一个坐标会在仓库中映射到一个jar包资源
-->
<!--组织名称-->
<groupId>org.example</groupId>
<!--工程名称-->
<artifactId>day31_maven_01</artifactId>
<!--版本号-->
<version>1.0-SNAPSHOT</version>
</project>
父(Super)POM
父(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 默认配置:
mvn help:effective-pom
maven仓库
本地仓库:
存放的就是对应的jar包资源,在程序中可以根据坐标去映射
远程仓库:
通过一个坐标映射去本地仓库去找资源,但是本地仓库没有对应的jar包资源,这个时候maven会自动的去连接远程仓库,根据坐标下载对应的jar包资源到本地仓库(这种情况下你的电脑是必须联网的,不然就会下载失败)
更改默认仓库标签,在xml文件中添加下面标签
apache-maven-3.3.9\conf\settings.xml
<localRepository>D:/Maven/maven_work</localRepository>
Maven 阿里云(Aliyun)仓库
Maven 仓库默认在国外, 国内使用难免很慢,我们可以更换为阿里云的仓库。
修改 maven 根目录下的 conf 文件夹中的 settings.xml 文件,在 mirrors 节点上,添加内容如下:
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
在idea中配置maven
File → settings→搜索maven
配置Maven home directory路径
User settings file选中Override改成对应maven下的settings.xml文件
修改Runner中maven的JER运行时环境改成所使用的jdk版本
全局生效需要在IDEA主页面Configure中设置
在pom.xml中手动添加坐标
<!--这个标签里面是用来写坐标的-->
<dependencies>
<!--导入单元测试的资源-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
</dependency>
</dependencies>
尝试搭建一个spring + springMVC + Maven这样的架构
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以邮件至 1300452403@qq.com