1.maven是什么?
2.怎么使用?
3.原理是什么?
4.解决了什么问题?
本期内容必须联网,并且网络质量要很好
maven项目默认是没有tomcat依赖的
一、Maven简单介绍Apache Maven是个项目管理和自动构建工具,基于项目对象模型(POM)的概念。
作用:完成项目的相关操作,如:编译,构造,单元测试,安装,网站生成和基于Maven部署项目
二、 Maven安装与配置Maven3.5.0下载地址1、Maven3.5.0下载Maven3.5.0下载地址
2、选择左侧Download
3、 点击箭头所指的链接进行下载
4、下载完成后,选择一个路径进行解压(解压到非中文的文件目录下)
2.然后配置path环境变量1、步骤:此电脑--属性--高级系统设置--环境变量--新建
2、新增MAVEN_HOME:MAVEN_HOME = E:mavenapache-maven-3.5.0-binapache-maven-3.5.0-binapache-maven-3.5.0(这里看你自己把它存放在哪)
3、 在path中添加Maven路径(path = %MAVEN_HOME%bin )
4、然后win+R 运行cmd 输入 mvn -version,如图所示则配置成功
如果有以上的显示信息,则表示Maven3.5.0安装成功!
3.配置本地仓库及私有仓库maven文件--conf文件--settings.xml配置文件
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
E:mavenCangku
alimaven
central
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
ctr+f找到localRepository把它最后一行给扣皮出来
可以设置一个自己盘符,为本地仓库(maven文件解压路径)
例:
E:mavenCangku
设置私有仓库↓:
使用阿里云私服,镜像仓库(ctrl+f搜索mirrors)
三、原理
alimaven
central
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
当配置结束后
①、通过pom文件的坐标优先读取本地仓库的jar包,如果曾经下载过,那么直接自动导入到当前项目中用
②、如果本地仓库没有,那么就会到阿里云镜像服务器中去找开发需要的jar包,找到了自动下载到本地仓库,并且会引入到项目
③、如果阿里云镜像服务器没有,那么会到国外的maven中央仓库去下载,如果有直接下到本地仓库,并且引入项目使用
④、如果国外maven中央仓库都没有找到,那么肯定是代码问题,会报错
四、解决的问题
1.使用jar方式开发项目,需要一个个的寻找jar包
2.jar直接的冲突问题
比如:com.jdbc.mysql.Driver在工程中出现俩次,就会使工程运行不了,意味着存在jar冲突
五、Maven的使用案例目标:在maven中将服务跑动起来,意味着需要在maven项目中导入tomcat相关的jar依赖,
或者说servlet相关的依赖
1、eclipse中使用maven
首先在eclipse进行配置
① 在window里点击perferences进行查找maven
②点击列表中的Installation
⑥点击add
⑦点击勾选
⑧然后配置用户建立
⑨本地仓库配置
2.创建Maven项目
右键新建一个maven项目
Internal优先读取本地
Next
group id:组织id,一般就是公司域名反写
artifact id:项目名字
version:版本
package:java包名
3.打印Hello World
右键项目更多
修改版本:
还需要修改xml文件
把2.3修改成3.1
Archetype Created Web Application
4.配置jdk
右键Bulid path
5. 在maven中服务器跑起来(maven项目默认是没有tomcat依赖的)
所以需要自己导入tomcat相关依赖
在https://mvnrepository.com/popular去寻找
点进去第一个找到4.0.0
复制到pom.xml(设置了servlet插件)
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
com.zxy
SHH_maven
war
0.0.1-SNAPSHOT
SHH_maven Maven Webapp
http://maven.apache.org
javax.servlet
javax.servlet-api
4.0.0
provided
SHH_maven
接下来我们类就有了servlet插件
可以用坐标的方式使用项目:
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
com.zxy
SHH_maven
war
0.0.1-SNAPSHOT
SHH_maven Maven Webapp
http://maven.apache.org
UTF-8
1.8
1.8
3.7.0
5.1.44
4.12
4.0.0
2.9.3
1.2
1.1.2
8.0.47
1.9.3
1.6.1
1.1.6
jaxen
jaxen
${jaxen.version}
dom4j
dom4j
${dom4j.version}
commons-beanutils
commons-beanutils
${commons-beanutils.version}
mysql
mysql-connector-java
${mysql.version}
junit
junit
${junit.version}
test
javax.servlet
javax.servlet-api
${servlet.version}
provided
com.fasterxml.jackson.core
jackson-databind
${jackson.version}
com.fasterxml.jackson.core
jackson-core
${jackson.version}
com.fasterxml.jackson.core
jackson-annotations
${jackson.version}
jstl
jstl
${jstl.version}
taglibs
standard
${standard.version}
org.apache.tomcat
tomcat-jsp-api
${tomcat-jsp-api.version}
org.projectlombok
lombok
1.18.10
provided
com.belerweb
pinyin4j
2.5.0
com.github.davidcarboni
encrypted-file-upload
2.1.0
SHH_maven
结束



