Web后端快速入门(Maven)

Maven是apche旗下的一个开源项目,是一款用于管理和构建java项目的工具。

开源项目:Welcome to The Apache Software Foundation.

Maven的作用:

依赖管理(方便快捷的管理项目依赖的资源,避免版本冲突问题)

在pom中描述信息,Maven就会自动联网下载

统一项目结构(提供标准、统一的项目结构)

生成的目录结构都是统一,可以直接导入进其他开发工具中

项目构建(标准跨平台的自动化项目构建方式)

双击自动进行打包编译

概述:

介绍:

Apche Maven 是一款用于管理和构建java项目的工具,它基于项目对象模型(POM)的概念,通过一小段信息来管理项目的构建。

通过插件完成项目的标准化构建

仓库:用于存储资源,管理各种jar包。

(导入依赖时一般先从本地仓库加载,如果没有再连接中央仓库下载)

本地仓库:自己计算机上的一个目录。

中央仓库:由Maven团队维护的全球唯一的。仓库地址:Central Repository:

远程仓库(私服):一般由公司团队搭建的私有仓库

安装:

安装步骤:

1.解压 apach-maven-3.6.1-bin.zip。(官网中搜索下载)

解压后文件:

bin:存放可执行文件 conf:配置文件目录 lib:所依赖的jar包资源存放的目录

2.配置本地仓库:修改conf/settings.xml中的<localRepository>为一个指定目录。

在conf的settings.xml文件中加入以下标签即可

<localRepository>您的路径</localRepository>

(主要用于存储下载到本地的资源)

3.配置阿里云私服:修改 conf/settings.xml中的<mirrors>标签,为其添加如下子标签:

XML 复制代码
 <mirror>
       <id>alimaven</id>
        <name>aliyun maven </name>
         <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
         <mirrorOf>central</mirrorOf>
      </mirror>

4.配置环境变量:MAVEN_HOME为maven的解压目录,并将其bin目录加入PATH环境变量。

验证是否配置成功,在控制台中输入mvn -v,输出版本号则配置成功

IDEA集成Maven:

配置Maven环境:

方式一:
方式二:

在该界面中配置

创建Maven项目:

点击模块,选择jdk版本为11即可

导入Maven项目:

依赖管理:

依赖配置:

依赖:指当前项目运行所需要的jar包,一个项目中可以引入多个依赖。

配置:

1.在pox.xml中编写<dependencies>标签

2.在<dependencies>标签中 使用<dependency>引入坐标

3.定义坐标的 groupld,artifactld,version

4.点击刷新按钮,引入最新加入的坐标

依赖查询网站:Maven Repository: Search/Browse/Explore

依赖传递:

依赖具有传递性

第一层依赖为直接依赖

上图的A项目也依赖C

右键点击图表再点击查看图表,可查看依赖

如果A依赖了B,而B依赖了C,我们不需要依赖C可以使用排除依赖

排除依赖:

排除依赖指主动断开依赖资源,被排除的资源无需指定版面。

使用标签<exclusions>

依赖范围:

依赖的jar包,默认情况下,可以在任何地方使用。可以通过<scope>...</scope>设置其作用范围

作用范围:

主程序范围有效。(main文件夹范围内)

测试程序范围有效。(test文件夹范围内)

是否参与打包运行。(package指令范围内)

生命周期:

Maven的生命周期就是为了对所有的maven项目构建进行抽象和统一

在同一套生命周期中,当运行后面的阶段时,前面的阶段都会运行。

执行指定生命周期的两种方式:

在idea中,右侧的maven工具栏,选中对应的生命周期,双击执行。

在命令行中,通过命令执行。

maven的执行都是通过插件实现的

相关推荐
怒放吧德德10 小时前
Netty 4.2 入门指南:从概念到第一个程序
java·后端·netty
雨中飘荡的记忆12 小时前
大流量下库存扣减的数据库瓶颈:Redis分片缓存解决方案
java·redis·后端
心之语歌14 小时前
基于注解+拦截器的API动态路由实现方案
java·后端
华仔啊16 小时前
Stream 代码越写越难看?JDFrame 让 Java 逻辑回归优雅
java·后端
ray_liang16 小时前
用六边形架构与整洁架构对比是伪命题?
java·架构
Ray Liang17 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
Java水解17 小时前
Java 中间件:Dubbo 服务降级(Mock 机制)
java·后端
SimonKing21 小时前
OpenCode AI辅助编程,不一样的编程思路,不写一行代码
java·后端·程序员
FastBean1 天前
Jackson View Extension Spring Boot Starter
java·后端
Seven971 天前
剑指offer-79、最⻓不含重复字符的⼦字符串
java