maven

1、maven简介

1、maven是什么?
官网:maven官网
Apache Maven是一个项目构建和依赖管理的工具。依赖(jar包)—中央仓库下载

2、为什么使用maven?

2.1添加第三方jar包(解决jar重复)
在今天的JavaEE开发领域,有大量的第三方框架和工具可以供我们使用。
要使用这些jar包简单的 方法就是复制粘贴到WEB-INF目录下的lib目录下。
但是这会导致每次创建一个新的工程就需要将jar包 重复复制到lib目录下,从而造成工作区中存在大量重复的文件。
而使用Maven后每个jar包只在本地仓库中保存一份,需要jar包的工程只需要维护一个文本形式的 jar包的引用——我们称之为“坐标”。不仅极大的节约了存储空间,让项目更轻巧,更避免了重复文件太 多而造成的混乱。

2.2 jar包之间的依赖关系
jar包往往不是孤立存在的,很多jar包都需要在其他jar包的支持下才能够正常工作,我们称之为jar 包之间的依赖关系。

典型的例子是:
commons-fileupload-1.3.jar依赖于commons-io-2.0.1.jar,如 果没有IO包,FileUpload包就不能正常工作。
那么问题来了,你知道你所使用的所有jar包的依赖关系吗?当你拿到一个新的从未使用过的jar 包,你如何得知他需要哪些jar包的支持呢?
如果不了解这个情况,导入的jar包不够,那么现有的程序 将不能正常工作。再进一步,当你的项目中需要用到上百个jar包时,你还会人为的,手工的逐一确认它 们依赖的其他jar包吗?这简直是不可想象的。
而引入Maven后,Maven就可以替我们自动的将当前jar包所依赖的其他所有jar包全部导入进来, 无需人工参与,节约了我们大量的时间和精力。
用实际例子来说明就是:
通过Maven导入commonsfileupload-1.3.jar后,commons-io-2.0.1.jar会被自动导入,程序员不必了解这个依赖关系。

2.3 处理jar包之间的冲突
上一点说的是jar包不足项目无法正常工作,但其实有的时候jar包多了项目仍然无法正常工作,这 就是jar包之间的冲突。
举个例子:
我们现在有三个工程MakeFriend、HelloFriend、和Hello。MakeFriend依赖 HelloFriend,HelloFriend依赖Hello。而Hello依赖log4j.1.2.17.jar,HelloFriend依赖 log4j.1.2.14.jar。

如下图所示:
在这里插入图片描述

那么MakeFriend工程的运行时环境中该导入log4j.1.2.14.jar呢还是log4j.1.2

这样的问题一个两个还可以手工解决,但如果系统中存在几十上百的jar包,他们之间的依赖关系会 非常复杂,几乎不可能手工实现依赖关系的梳理。
使用Maven就可以自动的处理jar包之间的冲突问题。
因为Maven中内置了两条依赖原则: 短路径者优先和先声明者优先,上述问题MakeFriend工程会自动使用log4j.1.2.14.jar。

2.4 获取第三方jar包
在这里插入图片描述
2.5 将项目拆分成多个工程模块
在这里插入图片描述

3 项目构建

3.1构建环节
在这里插入图片描述
3.2自动化构建
在这里插入图片描述

4、仓库

4.1仓库的分类
在这里插入图片描述
4.2Maven 依赖搜索顺序
在这里插入图片描述

5、安装maven

5.1下载maven
百度搜maven下载
在这里插入图片描述
5.2解压
在这里插入图片描述
5.3配置环变量
告诉系统我们的软件装在哪里
在这里插入图片描述
5.5初始化
运行命令 mvn help:system
在这里插入图片描述
6、Eclipse安装与使用
直接解压就可以使用,选择工作空间(项目在放的地方)
在这里插入图片描述
6.1创建java项目
在这里插入图片描述
在这里插入图片描述
6.2web项目
配置tomat
在这里插入图片描述
在这里插入图片描述
新建web项目
在这里插入图片描述
在这里插入图片描述
6.4新建maven项目
maven项目的创建要连网。maven项目的创建有两种:快速模板(推荐)、骨架。
6.4.1快速模板-java项目(推荐)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6.4.2快速模板-web项目
在这里插入图片描述
创建项目发现报错,是因为没有给这个项目添加web.xml
在这里插入图片描述
添一个WEB-INF/web.xml
在这里插入图片描述
在webContent下新一个index.jsp发现报错
在这里插入图片描述
在这里插入图片描述
或添加依赖
在这里插入图片描述
6.4.3骨架-web(了解)
在这里插入图片描述
6.4.4eclipse配置maven
在这里插入图片描述
在这里插入图片描述

7、Idea中创建maven项目

7.1 Idea—快速模板创建maven项目
在这里插入图片描述
7.2 idea配置maven
idea创建maven项目默认是java(在pom文件的默认值packaging:jar) 修改为web项目,修改pom.xml
在这里插入图片描述
2、添加webapp目录
在这里插入图片描述
8、添加依懒
修改pom.xml,添加你需要jar–依赖
在这里插入图片描述
idea可以直接搜索,alt+insert(fn)>dependencies
在这里插入图片描述
idea查看我的依懒
在这里插入图片描述
本地仓库
在这里插入图片描述
9、常用命令
在这里插入图片描述
在这里插入图片描述
10、Maven的核心概念

10.1、约定的目录结构
在这里插入图片描述
在这里插入图片描述
10.2 POM
在这里插入图片描述
10.3. 坐标
在这里插入图片描述
10.4 生命周期

clean
在这里插入图片描述
default(默认)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
site(站点)
在这里插入图片描述
11、依赖范围和传递性
11.1 依赖范围
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
11.2 依赖传递
在这里插入图片描述
11.3依赖冲突
在这里插入图片描述
11.4依赖排除
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值