Maven

什么是Maven

maven是管理和构建java的工具


Maven的作用

依赖管理

方便快捷导入jar包,避免版本冲突问题。无需再手动导入jar包

在maven工程中的pom.xml文件中直接导入jar包并且可以自由切换版本,无需再手动导入

统一项目结构

maven工程生成标准结构在任何java编译器中都可以使用

Maven_第1张图片

标准化项目构建方式

通过maven给的指令能够快速完成项目的操作

Maven_第2张图片


认识maven

maven在安装第三方依赖的时候会走
本地仓库 -> 远程仓库(可能不存在)-> 中央仓库

下载maven

https://maven.apache.org/download.cgi

Maven_第3张图片

配置maven

Maven_第4张图片


    nexus-aliyun
    central
    Nexus aliyun
    http://maven.aliyun.com/nexus/content/groups/public

配置完成后cmd中输入mvn -v。看到版本号就说明配置成功了

Maven_第5张图片

创建maven工程

首先在全局设置中配置我们下载的Maven

Maven_第6张图片

新建maven项目
点击新增项目,选择Maven然后点击创建

Maven_第7张图片

生成结构如下

Maven_第8张图片

pxm.xml文件格式如下

// 项目坐标
org.example
Maven
1.0-SNAPSHOT

// jdk版本

    17
    17
    UTF-8

什么是Maven坐标

资源的唯一表示。坐标可以用来定义项目和引入第三方依赖

    org.example		// 定义当前maven项目隶属组织名称
    Maven		// 定义当前maven项目名称
    1.0-SNAPSHOT		// 定义当前版本号

依赖管理

依赖就是指项目运行中所需要的jar包,一个项目可以有多个依赖

依赖配置

导入第三方依赖(jar包)


    
        ch.qos.logback
        logback-classic
        1.2.3
    
	
	...

依赖传递

maven中的依赖具有传递性。如果a项目依赖b项目。我们在依赖a项目的时候会自动依赖b项目

上述例子中我们只依赖了一个项目但是同是会依赖他下面的所有项目

Maven_第9张图片

排除依赖

如果我们不需要某个依赖下的依赖我们可以排除


    
        ch.qos.logback
        logback-classic
        1.2.3
        
            
                org.slf4j
                slf4j-api
            
	
			...
        
    
	
	...

可以看到我们指定的依赖就被排除了

Maven_第10张图片

依赖范围

依赖默认可以在main,text,package文件下使用

我们可以通过scope来配置在什么环境下生效

ch.qos.logback
logback-classic
1.2.3
test

Maven_第11张图片

生命周期

maven的生命周期就是对所有maven构建项目过程的抽象
maven的生命周期是各自独立的

1. clean

清理工作

2. default

核心工作,比如编译,测试,打包,部署,安装…

3. site

生成报告,发布站点

clean: 移除上一次构建生成的文件(默认target文件)
compile:编译项目代码(默认target文件)
text:使用合适的单元进行测试(执行text文件)
package:将编译好的代码打包,jar/war…包(jar包打包到target文件下)
install:安装项目到本地仓库(将jar包安装到maven本地仓库中)
注意我们在执行某个指令,他之前的指令也会被执行。同上

你可能感兴趣的:(Java入门到精通,maven,java)