Maven基础

Maven Study Notes

Maven是什么?

Maven是由Java编写的一种项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)

POM( Project Object Model ): 项目对象模型

Maven核心:pom.xml、依赖管理Dependency、本地仓库maven-repo

我们将整个pom看作是一个对象,而该对象的行为、属性都存放在pom.xml配置文件当中。在正常开发中,项目通常是由多人协作完成,各开发人员负责不同模块。那么在其他的模块当中可能会使用到另一模块的内容,此时就会将该模块依赖注入pom.xml。而依赖通常是存放在本地仓库当中

Maven作用:

  1. 项目构建,提供标准的、跨平台的自动化构建方式
  2. 依赖管理,方便快捷的管理项目依赖资源(jar包),避免资源间的版本冲突问题

maven仓库:

  1. 本地仓库:在我电脑中存放
  2. 远程仓库 包含中央仓库(由maven开发人员维护,其中包含了全世界几乎所有的jar包资源)、私服仓库(中央仓库的子集)
  3. 存放在中央仓库中的资源,由全世界共享。也就是被称为开源,独有的版权资源不会放在中央仓库也就不属于开源,例如oracle的sql驱动就不是开源

mvn中央仓库:https://mvnrepository.com/

mvn坐标

让maven准确定位找到对应资源

  1. groupId:定义当前maven项目隶属的实际项目
  2. artifactId:定义当前maven项目名称
  3. version:定义当前项目版本号

配置:1. 本地仓库位置 2. 阿里云镜像仓库

maven工程目录结构

project -> project-java(src、pom.xml) src->(main、test)-> main(java、resources)、test(java、resources)
在这里插入图片描述

pom.xml基础格式

pom.xml格式:

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xmlns="http://maven.apache.org/POM/4.0.0">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.yuqu</groupId>
	<artifactId>project-java</artifactId>
	<version>1.0</version>
	<packaging>jar</packaging>
	<dependencies>
		<dependency>
		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
		<version>4.12</version>
		</dependency>
	</dependencies>
</project>

控制台命令

mvn  compile  #编译
mvn  clean    #清理
mvn  test     #测试
mvn  package  #打包
mvn  install  #安装到本地仓库

在IDEA中创建Maven项目

在maven中创建

  1. 创建空项目
  2. 打开settings找到maven进行配置

在这里插入图片描述
maven的安装路径选择本地的路径不建议用idea自带的maven
maven配置文件:首先找到解压好的maven文件夹下的conf文件夹
在这里插入图片描述
本地仓库位置建议自定义仓库位置,默认是在C盘用户下的 .m2 的文件夹中的repository

然后找到项目设置(module settings)点击project 为项目选定jdk版本
在这里插入图片描述在这里插入图片描述
3. 创建空项目完成后,File-> new -> module选择创建maven项目,我使用的是IDEA2022版本会有些不同
在这里插入图片描述
我们可以选择创建Java工程或者Web工程,下面我们以Web工程为例看下效果:
在这里插入图片描述
这与上文说到的maven标准格式时不符合的所以我们需要对其进行补全
在这里插入图片描述
接下来可以将Web项目部署到Tomcat中运行:
部署步骤参考这里

依赖管理

依赖具有传递性

直接依赖:在当前项目中直接配置的依赖关系

间接依赖:下级资源或下级工程所配置的依赖关系,在当前项目中也可以使用
在这里插入图片描述
可选依赖:对外隐藏当前所依赖的资源,使用格式是在

< dependency></ dependency >中添加如下:

<optional>true</optional>
<!-- true表示确定对外隐藏 -->

依赖范围:

  1. 主程序范围有效(main文件夹范围内)
  2. 测试程序范围内有效(test文件夹范围内)
  3. 是否参与打包(package指令范围内)
    在这里插入图片描述
    如上图所示,Y代表在该范围内有效
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绿仔牛奶_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值