maven
引言:在开发项目时,必不可少的需要用到很多的jar,之前jar的来源途径是授课讲师给予。
疑问:1.他从哪儿拿来的jar
2.他凭什么拿到的jar从来一个不少
3.为什么不教给我们找jar包的方法,让我们自己找
maven的作用:我们可以命令maven自动帮我们下载我们需要的jar,我们只需要告诉maven我们要哪个jar
maven是什么
Maven是Apache开源组织提供的一个基于POM(Project Object Model)的项目构建(Build)工具,所谓的构建指的是代码清除(clean)、编译(compile)、测试(test)、打包(package)、安装(install)、部署(deploy)等一系列流程
POM(Project Object Model):项目对象模型 把项目当作一个对象管理
代码清除(clean):将所有class文件删除
测试(test):将所有jUnit测试执行一遍
打包(package):java 打成jar包 web项目打成war包
安装(install):将项目部署到本地tomcat中
部署(deploy):远程部署,将项目部署到远程tomcat中
这些事儿,不学maven也能干,那为什么要浪费时间学习maven呢?
使用maven有什么好处
一.摆脱IDE的结构规范
IDE:集成开发环境,说白了就是辅助编程工具,eclipse,myeclipse,idea

maven项目的结构
src/main/java 源代码目录
src/main/resources 配置文件目录
src/main/webapp web相关的文件
src/test/java 测试相关代码
src/test/resources 测试配置文件
pom.xml 核心配置文件 写坐标
target 编译文件输出目录 class文件存放位置

二.自动管理依赖
依赖(dependency):jar包
1.自动下载jar包
咱们只需要告诉maven你需要的jar包是什么,maven自动帮你下载
工作流程
如何告诉maven咱们所需要的jar是什么
maven坐标:
1.组织名 groupid 指定哪个公司开发的jar
2.项目名 artifactid 指定要下载哪个jar
3.版本号 version 指定下载哪个版本
<!-- https://mvnrepository.com/artifact/org.apache.struts/struts2-core --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.4</version> <!-- jar 的使用范围 compile :任何时间都有效 默认 provided:编译和测试时有效,运行无效 runtime:运行和测试时有效 test:测试时有效 --> <scope></scope> </dependency>
查找jar坐标的网址:https://mvnrepository.com/
2.自动下载jar包所依赖的jar包
jar包与jar包之间是有依赖关系的
比如: mybatis.jar的正常工作依赖于cglib.jar,那么当你想使用mybatis.jar时,就必须先下载cglib.jar
a.jar---->b.jar----->c.jar---->d.jar 如果你想使用a.jar,就必须下载bcd
maven可以实现自动管理jar,你只需要告诉maven你要使用a.jar,maven会自动帮你下载bcd
3.节省磁盘空间
我们使用jar包,只是使用其中的类和方法,只要确保可以使用到,其实并不需要每个项目中都复制一份jar包
maven的使用
maven的安装
1.maven官网下载 Maven – Download Apache Maven
2.在本地解压
3.配置环境变量
MAVEN_HOME : maven的安装目录
PATH : maven的bin目录
4.验证是否安装成功
cmd中输入 mvn -version

setting.xml相关内容
手动配置本地仓库地址
1.在合适的位置创建一个文件夹,文件名自定义

2.配置setting文件

2.maven镜像仓库配置

阿里镜像仓库的使用
在setting.xml中配置

第一个maven Demo
创建maven项目
。。。。
添加依赖
1.去中心仓库找你需要的依赖
2.将依赖添加到pom.xml

3.刷新项目
pom文件详解

maven通用调错
主要原因:jar包下载失败
具体原因有很多,网络异常,本地电脑异常,jar包不支持下载,交换机炸了,导致jar包下载失败,此时应该怎么办
jar包下载失败的标志

解决办法:
1.手动删除此jar包文件夹
2.使用工具
修改工具中本地仓库地址
手动导入jar包
有部分非开源的项目jar包,在中心仓库中是无法下载的,这时需要我们手动导入jar包
1.先有jar包
2.在cmd中执行手动导入jar的命令
mvn install:install-file -Dfile=jar当前所在路径 -DgroupId=设置jar包的组织名(自定义) -DartifactId=设置jar包的项目名(自定义) -Dversion=设置jar包的版本号(自定义) -Dpackaging=jar(jar包的打包方式,通常都是jar)
目前的依赖
<!--jdbc驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.48</version> </dependency> <!--mybatis相关依赖--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.4</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.30</version> </dependency> <!--servlet+jsp+jstl依赖--> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>2.3.3</version> </dependency> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency>
本文探讨了Maven在项目开发中的关键作用,如自动下载依赖、标准化项目结构及简化jar包管理。学习Maven能提升开发效率,避免IDE规范问题和磁盘空间浪费。

1187

被折叠的 条评论
为什么被折叠?



