maven:其实就是一个项目管理工具,以后就是用这个写项目了专业哈哈哈哈
项目生命周期图解
maven入门图解
maven是一个项目管理工具
- 项目对象模型.(POM)
- 一组标准组合
- 一个项目生命周期
- 一个依赖管理系统(dependency)
- 用来运行定义在生命周期阶段的插件目标
maven组成图解
maven的本质是什么
就是用来管理项目中用到的jar包。一般使用maven就是i用来管理jia包的,我们就可以不用一次又一次的引入jar包了
maven的使用
1.下载安装
下载地址:https://maven.apache.org/download.cgi
解压就是安装,需要解压到一个没有中文和空格的目录之中,解压完成就已经安装好了。
2.目录介绍
- bin:内部放的二进制文件
- boot:内部是运行maven的类加载器,来运行maven信息
- conf:配置信息,内部含有的都是配置信息 setting.xml是整个maven的核心配置文件。
- lib:运行maven所需要的以来jar包
3.要使用maven就需要配置环境变量 - 因为maven使用需要依赖于JDK1.7,所以需要电脑安装的是JDK1.7以上的版本
- 配置环境变量MAVEN_HOME
- 首先配置MAVEN_HOME的根目录:D:\Java\maven\apache-maven-3.6.3
- 再去配置Path总路径:在最后面添加 ;%MAVEN_HOME%bin
- 验证maven是否配置成功
- mvn -v 注意mvn后面有一个空格 出现版本号就表示配置成功
配置环境变量图解
- mvn -v 注意mvn后面有一个空格 出现版本号就表示配置成功
maven仓库
目的:主要是存放项目中会用到的jar包,有本地仓库,远程仓库,中央仓库
本地仓库:开发者自己的电脑上面,存放自己的资源(默认是在电脑C盘里面)
远程仓库(私服):搭建私服就是就是搭建远程仓库。搭建一个属于公司内部的仓库
中央仓库:是maven团队来操作的。它就是管理维护世界上所有用到的jar包资源。目前全球大概两亿的jar包
访问顺序就是:本地仓库,远程仓库,中央仓库,小的找不到就去大的找,中央仓库都找不到那就没了。
创建本地仓库
-
首先就是解压maven
-
配置路径
-
找到conf下面的settings文件,然后编辑此文件 在52行左右找到
里面的位置就是maven的本地仓库位置 -
配置JDK1.8的版本,maven默认是JDK1.5
<profile>
<id>jdk18</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
配置国内阿里云镜像仓库
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
构建maven工程
maven工程的目录结构
想要使用maven工程就必须遵从maven的目录规范,否则就不能使用。
- 第一个:src/main/java : 存放项目的java文件(以.java结尾的)
- 第二个:src/main/resources : 存放项目资源文件,如db.properties,后面用到的框架的配置文件 以 .xml 结尾的 。
- 第三个:src/main/webapp:web工程的web资源
- 第四个:src/main/webapp/WEB-INF:存放webx.xml文件
- 第五个:src/test/java :存放单元测试的 .Java 文件 如Unit测试类
- 第六个:src/test/resources :存放测试用到的资源文件,如果没有就会从main中查找
- 第七个:target:项目的输出位置,如编译之后的 .class文件,打成的 jar包文件和war包文件
- 第八个:pom:项目对象模型
初始版本maven工程图解
maven工程提升加一个web
框架板块------>Facets---->+号—>web—>图解
maven工程最终操作
第三幅图中的设置:-DarchestypeCatalog=internal 表示无网络也能操作
第一幅图中选择 new Projects Sertting 表示每次创建新工程maven位置设置都一样.
maven的依 赖管理
通过maven的依赖管理对项目中的jar包统一管理,通过引入单个
- 标签,表示当前项目所有以来的jar包,其内部是
- 标签表示具体依赖其内有四个标签
- 表示组织名+项目名
- 表示模块或者项目名称
- 表示版本号
- 表示依赖的范围
放在的是pom.xml下面的
<dependencies>
<dependency>
<groupId>junit</groupId><!--组织名+项目名-->
<artifactId>junit</artifactId><!--模块或者项目名称-->
<version>4.12</version><!--版本号-->
<scope>test</scope><!--表示依赖范围就是这个项目是什么状态的,是测试的还是开发的 就是用于src包的还是test包的-->
</dependency>
</dependencies>
maven配置文件查找
进入网站:https://mvnrepository.com/search?q=servlet
搜索想要的jar包 比如Servlet包就输入Servlert
点击进入,再找使用人数最多的,版本点进去
直接复制粘贴使用这个就可以了.
在maven内部集成了很多的内置插件,如JDK,Tomcat等
jdk默认版本是1.5 tomcat默认本本是6.0
真实使用的时候需要手动配置就去 一般配置JDK为1.7或者1.8 tomcat配置为7.0或者8.0
pom.xml
是一个核心的配置文件,是我们maven项目的核心,内部一些标签意义
- packaging----->jar表示java纯工程, war 表示web工程 pom 表示父项目或者夫工程和
- dependencies----> 内部含有很多的dependency标签 每一个dependency都表示一个依赖
- 以下三个都在dependency标签里面
- groupId---->组织或者项目名称
- artifactId---->模块
- version---->项目版本
maven常用项目
- mvn complie 执行成功 生成target目录 包含编译之后的 .class 文件和配置文件以及达成的jar 包
- mvn test 执行成功 编译测试文件
- mvn package 执行打包命令,会在target目录中生成打包文件
- mvn install 执行发布命令/安装命令 完成以上命令 把打包之后的文件存放到本地仓库中
- mvn tomcat.run 执行内置服务器的运行指令
- mvn clean 清除target目录
- mvn deploy 部署
###在maven中添加以来
- 首先我们应该知道依赖是添加在pom.xml里面的deoendencies标签里面的
- 其次只用写一个dependencies 只是在这个标签里面一个依赖就要写一个dependency
- 如果写出来的是红的并不代表错误只是说明你的本地仓库没有,你只需要刷新一下就不会报错了
maven插件配置
- 主要是借助于标签
- build
- plugins
- plugin 添加具体的插件
- configuration 配置详细信息
依赖传递现象
由于maven中存在依赖传递现象,所以会引发依赖冲突现象,是因为多个jar包的版本不一样所以会出现依赖传递现象,
依赖传递现象解决方案
- 首先是舍得路径更短就执行哪个
- 如果路径一样短那么就是,谁先声明就先使用哪一个