一.Maven基础篇
1.Maven介绍
(1)什么是Maven
Maven是一个基于项目项目-对象-模型(Project Object Model)的项目管理工具。它包括两大核心:依赖管理----管理项目所依赖的jar包,和项目构建----项目编码完成后,对项目进行相应的操作,包括编译,打包,部署,测试等。
(2)为什么要学习使用Maven
原来通过Eclipse或IDEA或其它IDE工具构建java项目或者javaweb项目时,需要手动的在项目的lib目录下保存项目所需要使用的jar包。这种方式管理jar包的缺点很明显:
1.jar包的冗余,重复复制
2.jar包的依赖管理繁琐,容易出错,调试不方便
而Maven的出现,很好的解决了传统项目上的jar包管理中的一些不友好的问题,包括但不仅限于上面列出的问题。
2.Maven的安装配置
Maven官网:https://maven.apache.org/
1.去官网下载Maven的压缩包:
2.解压出来:
可以修改一下解压出来的文件夹名字,尽量解压到非中文名称的路径当中。
文件夹中的目录结构:
Maven本身是一个java工程,所以它也有它所依赖的jar包。
3.测试安装是否成功:
Maven本身是一个java工程,所以也是需要有JDK环境的依赖的,所以必须先在电脑上下载JDK安装并配置JDK的环境变量后才可以使用Maven。
JDK环境配置好的截图:
JDK环境配置好后,先来看看Maven是否安装成功,在Maven安装目录下的bin目录下输出cmd命令:
在弹出的cmd窗口中输入:mvn -v,查看输出信息,若有显式出Maven的一系列信息,则表示Maven安装成功。但是现在命令是在Maven的安装目录bin下可以使用Maven,在其它目录下是不能使用的。如果想要在当前系统下的任何目录下都可以使用到Maven,则需要配置Maven的环境变量。
4.环境变量配置:
变量名:MAVEN_HOME
变量值:E:\JavaTools\maven\apache-maven
这个变量值是你下载的zip包解压到的文件夹的路径,如下图所示:
配置好点确定,然后再在path系统变量上新建一个属性:
这里面的值为上面新建的MAVEN_HOME路径下的bin文件夹的路径,可以直接为:E:\JavaTools\maven\apache-maven\bin,也可以使用MAVEN_HOME的相对路径,即写入:%MAVEN_HOME\bin% 也行。但一般windows10系统有些情况下貌似不支持相对路径的写法,所以我一般使用的绝对路径。配置完成后一路点击确定就行。
配置成功后,重新打开cmd窗口,去验证一下:
此时cmd的默认路径是C:\Users\Dell,并不是Maven的安装路径,在这里输入mvn -v,也出现了上面的Maven安装的各项信息,说明刚才配置的Maven环境变量配置成功,此时Maven可以在当前系统下的任何路径去使用了。
如果cmd提示mvn -v不是内部命令或外部命令的情况,请检查环境变量的配置有没有问题。
自此,Maven的安装就成功了。
3.myEclipse集成Maven
myEclipse集成Maven的配置及使用在网上都有,这里看一些别人的集成引导就行
传送门:
4.intellij IDEA集成Maven
intellij IDEA是使用度很高的一个开发工具,所以也需要知道它是如何集成Maven的。
集成步骤:
idea在安装时有自带一个Maven的,这里选择使用我们自己下载并配置的Maven
点击确定即可。这样一来,idea中用的就是我们自定义的一个Maven了。
5.Maven仓库
当我们使用Maven来创建java项目或javaweb项目时,那么Maven就会帮我们管理jar包了,也就是说Maven就相当于一个仓库,这个仓库里保存的是我们这个项目所要用到的jar包,那么Maven仓库有几种类型呢?
Maven中的仓库分为图中的几种,然后它们之间的关系又是怎么样的呢?也就是说Maven在查找jar包时的顺序是怎么样的?
所以,当我们的项目需要使用一个jar包时,Maven就会执行上面的操作流程。那么本地仓库在哪里呢?先来看一下我们自定义的Maven中的settings.xml文件:
这里,localRepository就是本地仓库的意思。但是此时这个标签被注释掉了,它上面还有一句话,说本地仓库默认的是当前操作系统用户路径下的.m2/repository文件夹里面就是存放的jar包,也就是上面我们几次Maven时的最后一个参数:
上面集成的时候并没有管这个参数,这个参数就是指本地仓库的路径。由于settings.xml中没有自行定义,那么使用的路径就是
我们改一下这个路径,当然也可以不改,没有任何关系。我们设置成自己定义的一个。
在Maven安装路径下新建一个空的文件夹localrepository来作为本地仓库使用。然后在settings.xml中配置这上个本地路径。
这样就定义好了本地仓库。
然后把idea中最后一项的配置更改为这个配置路径就行了。
然后来测试一下,尝试创建一个java项目和一个web项目,分别来测试一下:
1.创建java项目
选择好后点击完成
可以看到,在下载完依赖并加载完成后,这个javaprojiect已经构建完成了。我们自定义的本地仓库中也保存了下载下来的jar包信息。
接下来,在右侧的maven窗口里,可以看到这个项目的执行以及插件信息
此时我们点击install设置,构建一下项目:
构建完成,说明项目没问题了,再来测试一下例子:
跑一下看看:
没有什么问题了。
2.创建javaweb项目
同样使用脚手架创建javaweb项目
配置完成后等Maven下载和配置即可,配置完成后看一看web项目的结构:
多出了一个webapp结构,里面有web.xml和index.jsp,说明web项目成功构建了。但是通过这个脚手架创建的web项目中对应的src/main/java,src/main/resource和src/test/...等目录有缺失。这时需要我们手动的来创建。
这时就出现了java和resource2个选项,直接选择即可。
选择完以后,就是正常的web项目的结构了。
既然是web项目,需要给它启动一下试试,这时需要添加web容器插件了。有两种方式:
自己手动配置tomcat容器。需要先去下载tomcat容器,然后集成到idea中,再去配置等等,很麻烦。因为我们是Maven项目,所以先不使用这种方式。用第二种方式:
在pom.xml中添加tomcat的依赖:
注意要添加build标签里面,而且不能出现在<pluginManagement></pluginManagement>标签里面。原因后面我会去记录和说明。因为tomcat是一个插件,需要使用<plugins></plugins>标签。编辑好了以后,在右侧的maven里面中的插件里,就会有tomcat7这个插件了。
点击运行看看:
启动完成了,端口8082,在浏览器访问一下:
访问也是正常的。那web项目也创建成功了。