1.Maven的配置
①maven的本地仓库的地址
maven存放jar包的位置是本地仓库,默认情况下,maven会将jar包存储在c盘中,为了避免c盘的压力太大,我们可以在安装的maven的conf目录下的setting.xml文件中进行配置,配置如下:
②maven的编译版本
需要注意的是,maven默认使用的java编译版本是jdk1.5,而我们在实际的开发的过程中,目前使用的是jdk1.8(目前企业中使用---最稳定),所以我们在下载好maven以后,需要在conf目录下的setting.xml文件中配置jdk的编译版本,配置如下:
2.Maven的仓库
①.仓库的分类
maven中的仓库是用来存储jar包的
本地仓库:从远程仓库下载jar包到本地,供项目的使用
远程仓库:企业中的服务器中存储着大量的jar包,供用户的下载
中央仓库:Maven官方提供的存放Jar包的仓库,Jar贼全,服务器在国外,下载速度贼慢
国内镜像仓库:可以通过国内镜像仓库下载Jar包到本地仓库,下载速度较快,Jar不全,但是国内镜像会从中央仓库同步Jar包
公司内部私服:一般公司内部会搭建一个私服,在局域网内部下载Jar包,一般公司内部会封装一个工具,打成Jar包发布到公司内部的私服,如果不连接私服,其他位置没有。
②配置阿里云镜像
打开 Maven 的配置文件(windows机器一般在maven安装目录的conf/settings.xml),在<mirrors></mirrors>
标签中添加 mirror 子节点:
<mirrorOf>*</mirrorOf>这里配置为 *的意思是我们通过阿里的maven仓库从而访问所有的远程仓库,也就是我们只会从阿里云现有的仓库中下载
3.IDEA配置Maven
①IDEA配置Maven信息
让IDEA使用配置好的Maven以及设置好配合信息的settings.xml文件
1.找到settings for new project
2.查看maven的默认配置
3.修改maven的配置
ps:具体的配置情况可能根据idea的版本有稍微的不同
②构建maven工程
1.在构建项目的时候选择构建maven工程
2.编写工程元数据
3.设置项目存放的目录
4.右下角显示进度条,正在下载Maven插件
5.插件下载成功
Ps:Maven下载Jar包到本地仓库时,基于目录去维护Jar包的三个标识:包名、项目名、版本号
③jar包飘红如何处理
通常情况下,jar包飘红是因为下载失败的原因,可能是网络波动的问题,也有可能是你导入的依赖,连中央仓库都没有,一般我都是在本地仓库中搜索以.lastUpdated为结尾的文件(下载失败的jar包),然后直接删除掉,就会重新下载
4.构建maven的Web项目
1.准备工作:构建maven工程
2.修改pom.xml文件,将打包的方式从默认的jar改为war
3.修改完毕后,点击import change
4.给项目追加webapp目录,并且添加WEB-INF/web.xml文件
ps:这里路径的配置要看仔细
5.运行web工程
①可以通过本地的tomcat运行项目
②基于tomcat7插件运行(我通常使用)
在pom.xml文件中导入依赖
在右侧的maven项目中的plugins中,找到tomcat7插件,并运行tomcat7:run
命令
5.Maven中常用的命令
-
clean:清空编译的target目录。
-
compile:编译src目录下的源代码,生成target目录。(每次运行前,都需要编译项目)
-
test:先编译项目,执行test目录下所有类名以Test为结尾的添加了@Test方法的进行测试。
-
package:先编译项目,再测试项目,最终根据<packaging>打包成指定的文件。
-
install:先编译,再测试,再打包,最终将打好的包安装到本地仓库。
-
deploy:先编译,再测试,再打包,再安装,最终将项目上传的私服作为依赖使用。
6.Maven依赖的作用域
-
compile:编译、测试、运行都会使用当前依赖。
-
provided:编译、测试都会使用当前依赖,项目运行时,不会包含当前依赖(正因为运行时无效,可以防止和tomcat下jar冲突,因为servlet api被tomcat容器提供,就不需要maven再重复引入)
-
runtime:测试、运行都会使用当前依赖,编译时,不包含当前依赖。(jdbc,只需要运行时使用)
-
test:就测试能用
这里的scope就是可以用来配置jar包的作用域
7.Maven解决依赖冲突的方式
通过管理依赖版本的形式,避免出现Jar因版本号导致冲突(推介)