目录
1、默认(default)--------真正进行项目编译打包等工作阶段
2、清理(clean)执行必要的清理工作。删除target文件夹3、站点(site)生成项目报告,站点,发布站点(基本不用)
相关参考教程:maven参考教程
框架学习阶段:
(1)五个框架
SSM--------- 1.Spring 2.Spr ingMVC 3.Mybatis
4.Springboot 5.MybatisPlus(2)缓存中间:Redis缓存
(3)LIbux操作系统
(4)maven
(5)Vue3脚手架
(6)前后端完全分离
一、maven概念
Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Maven的核心功能是合理叙述项目间的依赖关系,通俗点 就是通过pom.xml文件的配置获取jar包不用手动的去添加jar包。
二、Maven下载与配置
参考连接:maven配置教程
1、配置环境变量:
新建MAVEN_H0ME:maven的安装路径
编辑PATH:新建一个%MAVEN_HOME%\bin
通过CMD:mvn -v测试配置是否成功2、localRepository
<localRepository>E:/repository</localRepository>
我们通过maven下载的依赖都放在这个位置。需要手动创建这个目录。不要用中文3、配置maven阿里云镜像
接下来我们需要配置maven镜像,如果我们不配置,我们下载jar包是从国外下载的,下载速度很慢,所以我们配置一下国内的阿里云镜像
配置方法:找到未在注释标签内的mirrors,大约在145行左右,接着我们往mirrors标签内添加阿里云镜像,然后保存。<mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror>
4、版本的兼容
如果用的编程工具是IDEA,要注意下载对应的maven,否则会出现兼容的问题。
如果不知道自己的IDEA应该用哪个版本的maven ,可以去“设置”里查看.
5、创建maven工程
实际上,各大编程工具已经内置了maven,当我们第一次创建maven工程时,会联网自动下载一些Maven本身需要的依赖。
src
main---源码
java---源码.java
resources---资源文件
test---测试源码
java---测试源码.java
resources---测试资源文件
【pom.xml】就是我们上面说的那个配置文件,来管理依赖的。
三、maven生命周期
【target】目录:存放编译后的java文件
1、默认(default)--------真正进行项目编译打包等工作阶段
(1)validate:验证项目是否正确
(2)compile:编译,编译项目的源代码
(3)test:测试,junit这些测试不应该要求代码被打包或部署
(4)package:进行打包。
java工程-------【.jar】
javaweb工程----【.war】
(5)verify:验证,对集成测试结果执行检查
(6)install:安装
所有的项目都可以编程jar包(依赖)
(7)deploy:部署,将最终的包赋值到远程存储库,和其他开发人员共享(maven私服)2、清理(clean)执行必要的清理工作,删除target文件夹
3、站点(site)生成项目报告,站点,发布站点(基本不用)
四、Maven坐标------GAV:
GroupId:团体组织标识符,它一般情况下以创建这个组织的名称的逆向域名开头。
ArtifactId:项目名。单独项目的唯一标识符。
Version:版本
通过这三个向量来定位Maven仓库中其jar包所在的位置,把对应的jar包引入到工程中。
五、 依赖范围:
compile:默认。编译范围,编译,测试,运行都有效。参与打包,安装。
test:测试范围,只有在test范围下才能用,不参与打包,安装。
provided:编译和测试,不参与打包,安装。
runtime:运行,只参与运行。
system:废弃。系统。
import:废弃。引入。
六、依赖的传递:(常识性问题)
假如demo01中引入了mysql,servlet,fastjson,codec依赖,我把demo01install到了我的本地仓库,或者是maven私服,如果其他成员通过GAV引入了我的demo01,demo01中的mysql,servlet,fastjson,codec会不会一起引入进来???
会!!!!!