Maven——项目管理工具
1、概念:
- 包含一个项目对象模型(Project Object Model)、一组标准、一个项目生命周期、还有一个依赖管理系统
2、能解决什么问题:
- 以我们现在学的spring为例子,一个项目里面包含了一大堆的jar包,如果发现jar丢失或者是版本冲突的话,要我们去更换jar的时候,就会很痛苦了。
- 因此,就需要maven来管理我们引入的jar包,也叫依赖
- 除此之外,使用Maven管理项目,还可以减轻整个工程的内存;
3、了解一下依赖的相关概念:
-
在Maven的世界里,每个jar包都有了三个最基本的属性(三坐标):
-
groupId:这个是公司/组织/个人的域名倒写
- 例如 www.baidu.com —> com.baidu
-
artifactId:这个是项目名
-
version:这个项目的版本号
<dependency> <groupId>ru.fix</groupId> <artifactId>jfix-stdlib-reference</artifactId> <version>2.0.15-jdk8</version> <!-- 可选项,默认就是compile <scope></scope> --> </dependency>
-
补充提一下:scope:
- compile 编译、测试、运行、发布均有效 (默认值)
- runtime 不参与编译阶段,在测试和运行阶段有效
- test 只在测试阶段有效,参与编译、测试阶段,
- provided 与compile相似,但是区别是在打包项目的时候不会将该依赖打包,该依赖由其他容器提供
- 以上仅挑了比较常见的四个值来举例说明。
-
-
有了三坐标之后,Maven就会根据坐标去Maven仓库去寻找相应的jar包,并且帮你导入到项目中去,这样就完成了我们原来需要手工完成的Add as library这项工作。
-
Maven仓库:https://mvnrepository.com/
4、安装:
-
安装包:https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.zip
-
选择Windows版本安装包
-
环境要求:
-
Java开发套件(JDK) Maven 3.3+需要JDK 1.7或更高版本才能执行-它们仍然允许您通过使用工具链针对1.3和其他JDK版本进行构建 操作系统 没有最低要求。启动脚本包含在外壳程序脚本和Windows批处理文件中。
-
5、Maven的文件信息:
- **bin:**放着一些启动的文件,mvn.cmd…
- **boot:**放一些Maven本身的引导和程序,类加载器什么的,了解一下即可;
- conf:放着maven的配置文件,如setting.xml;
- **lib:**放着一些maven运行需要的jar包
6、配置环境变量信息
1、在电脑右下方搜索“环境变量”,点击搜索结果直达系统属性面板
2、选择“环境变量”
3、选择“系统变量”的“path”项,双击
4、把maven的bin文件夹的全路径复制粘贴为新一项内容
5、保存后退出即可
7、仓库的概念:
-
本地仓库、远程仓库、中央仓库的关系
- 本地仓库:用户本地文件夹,在maven安装好的时候并不会直接创建,而是在第一次使用maven命令的时候才会创建;
- 远程仓库,除了本地仓库之外,都是远程仓库;
- 中央仓库,它是一个最大的远程仓库,也是maven的核心仓库;也是maven的默认远程仓库
-
看一下setting.xml配置文件,修改本地仓库的存储路径
<localRepository>自定义文件的全路径</localRepository>
-
更换阿里云的镜像地址,提高下载速度
-
因为中央仓库的地址是在国外的,下载速度非常的缓慢,因此需要更换国内的镜像地址;
-
这里就推荐阿里巴巴的镜像地址
<mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </mirror>
-
8、maven项目的结构(idea/eclipse)
- 重点是给大家讲讲怎么创建web项目
- 创建的时候有两种选择:
- 一个是创建一个骨架;
- 一个是创建一个现成的项目结构
- 新建好项目之后还需要手工做下调整
- 增加一个src/test/resources的类文件夹
- 在main下增加一个java文件夹
- 在webapp下添加一个lib文件夹
- 前端资源统一放在webapp下
- 后端代码放在src/main/java文件夹下,具体包结构需要保持,如com.ch14.spring
- 配置文件需要放在src/main/resources文件夹中
- 如何发布
9、补充一些个人的小建议
-
spring依赖关系(局部)
-
core的依赖关系
-
aop的依赖关系
-
mvc的依赖关系
-
-
如何快速地查找jar包;
- 搜索的时候 输入关键字 “目标依赖的关键字 mvn”、
- 直接访问中央仓库
-
分享下载依赖的两种方式
-
直接在中央仓库上下载
-
把需要的依赖写pom文件里,然后在该pom文件所在的目录下运行DOS命令
mvn -f pom.xml dependency:copy-dependencies
-
方法一是快捷,方法二是齐全,因为maven会连带下载有依赖关系的包
-