Maven的基本使用
- 一、为什么要使用Maven
- 1.1 方便添加第三方Jar包
- 1.2 方便获取第三方Jar包(中央仓库)
- 1.3 解决了依赖问题
- 1.4 解决了依赖冲突
- 1.4 项目管理更清晰
- 1.5 总结
- 二、Maven的下载
- 三、配置Maven本地仓库和中央仓库
- 3.1 Settings文件
- 3.2 配置本地仓库
- 3.3 配置中央仓库(镜像地址)
- 四、如何在IDEA中使用Maven
- 4.1 IDEA中配置Maven
- 4.2 IDEA中使用Maven
- 4.3 代码实例
- 4.3 打包方式
- 五、Lifecycle
一、为什么要使用Maven
1.1 方便添加第三方Jar包
刚开始用Maven的时候 本地仓库是空的
后面会越用越多 但是同样的Jar包只会下载一次
传统的拷贝jar包到lib目录下的方式 太消耗空间资源 甚至会影响到项目运行效率
1.2 方便获取第三方Jar包(中央仓库)
项目运行 现在本地仓库找 如果没有 这个时候就会去Maven的中央仓库去下载(需要联网)到本地仓库 然后再跟上面那样建立连接
这样不仅省事 而且从中央仓库下载来的jar更规范准确
1.3 解决了依赖问题
Maven很好的解决了有些jar包的依赖问题
1.4 解决了依赖冲突
Maven可以解决包之间的冲突
1.4 项目管理更清晰
就是一种解耦的思想
模块化编程
1.5 总结
Maven的优势主要在于对于Jar包的管理(导包 下包 解决依赖冲突等问题)
以及对于项目的管理(项目的模块化拆分)
Maven项目的结构很经典
下面这种结构看到了就知道是Maven项目
二、Maven的下载
我的安装位置
配置环境变量 建议就在系统变量那里配
cmd使用mvn -v测试
注意:之前JDK配置的环境变量 按照约定 最好就写成%JAVA_HOME%
虽然说变量名是随意的
但是比如说Maven 这些依赖Java的软件 他会自动检索JDK(默认找JAVA_HOME)
如果不配置成JAVA_HOME 那么mvn -v 可能会报错
打印了Maven版本信息 同时也打印了JDK版本
这也说明Maven也是用Java写的 需要Java的环境
三、配置Maven本地仓库和中央仓库
3.1 Settings文件
要对Maven做一系列个性化设置 都在这里改
3.2 配置本地仓库
默认情况如下在C:\Users\Administrator.m2\repository
所以啥也不改 也能用
但是一直往C盘下东西显然是不太好的
更改本地仓库
3.3 配置中央仓库(镜像地址)
默认的网址是国外的
访问卡的一批
所以说要重新制定一下
要不然在默认地址下载需要的jar包太慢了
镜像可以简单的理解为
国内有一些大厂把国外他们服务器上的jar包拷贝了一份放在国内的服务器上
由国内的厂商来维护
这里配置的是阿里云的镜像地址
<mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
四、如何在IDEA中使用Maven
4.1 IDEA中配置Maven
在不做任何配置之前 Maven和我的编译器毫无关联
上面三个是必须配置的
接下来的建议也配置好 虽然不影响使用
4.2 IDEA中使用Maven
创建空项目
4.3 代码实例
main目录用于存放主程序
java目录用于存放源代码文件
resources目录用于存放配置文件和资源文件
test目录用于存放测试程序
4.3 打包方式
默认情况下打成jar包(纯服务端 没前端 打包成jar就行)
如果是web工程 建议打包成war包(不仅有后端代码 还有前端代码 比如jsp等)
如果出现了继承 就是pom包(作为父工程出现)
给pom方式的去打包 不会生成jar包 会生成一个pom文件
五、Lifecycle
clean:清理一下生成的.class那些文件
validate:检查一下当前的Maven项目结构是否正常
compile:把main下的代码 编译成.class文件 这里针对main目录下的代码
test:把test目录下的代码编译成.class文件并输出结果这里针对的是test目录下的代码
注意:如果我直接执行test 也是可以的 前面的几步都会一起完成
package:打包当前的模块/项目
install:把当前项目打包成jar包并且保存到本地仓库去
这里的具体位置由IDEA Settings指定的仓库位置+本项目/模块的坐标来决定