Maven介绍加配置(重点)
1.首先我们来了解下为什么要用Maven?
假如你正在Eclipse下开发两个Java项目,姑且把它们称为A、B,其中A项目中的一些功能依赖于B项目中的某些类,那么如何维系这种依赖关系的呢?
很简单,这不就是跟我们之前写程序时一样吗,需要用哪个项目中的哪些类,也就是用别人写好了的功能代码,导入jar包即可。所以这里也如此,可以将B项目打成jar包,然后在A项目的Library下导入B的jar文件,这样,A项目就可以调用B项目中的某些类了。
缺陷很明显:
1.如果在开发过程中,发现B中的bug,则必须将B项目修改好,并重新将B打包并对A项目进行重编译操作
2.我们开发一个项目,或者做一个小demo,比如用SSH框架,那么我们就必须将SSH框架所用的几十个依赖的jar包依次找出来并手动导入,超级繁琐。
上面两个问题的描述,其实都属于项目与项目之间依赖的问题[A项目使用SSH的所有jar,就说A项目依赖SSH],人为手动的去解决,很繁琐,也不方便,所以使用maven来帮我们管理
2.Maven到底是什么呢???
通俗点讲,就是通过pom.xml文件的配置获取jar包,而不用手动去添加jar包,而这里pom.xml文件对于学了一点maven的人来说,就有些熟悉了,怎么通过pom.xml的配置就可以获取到jar包呢?pom.xml配置文件从何而来?等等类似问题我们需要搞清楚,如果需要使用pom.xml来获取jar包,那么首先该项目就必须为maven项目,maven项目可以这样去想,就是在java项目和web项目的上面包裹了一层maven,本质上java项目还是java项目,web项目还是web项目,但是包裹了maven之后,就可以使用maven提供的一些功能了(通过pom.xml添加jar包)。
所以,根据上一段的描述,我们最终的目的就是学会如何在pom.xml中配置获取到我们想要的jar包,在此之前我们就必须了解如何创建maven项目,maven项目的结构是怎样,与普通java,web项目的区别在哪里,还有如何配置pom.xml获取到对应的jar包等等,这里提前了解一下我们如何通过pom.xml文件获取到想要的jar的,具体后面会详细讲解该配置文件。
3.为什么通过groupId、artifactId、version三个属性就能定位一个jar包?
加入上面的pom.xml文件属于A项目,那么A项目肯定是一个maven项目,通过上面这三个属性能够找到junit对应版本的jar包,那么junit项目肯定也是一个maven项目,junit的maven项目中的pom.xml文件就会有三个标识符,比如像下图这样,然后别的maven项目就能通过这三个属性来找到junit项目的jar包了。所以,在每个创建的maven项目时都会要求写上这三个属性值的。
4.Maven 安装
Maven官网地址
下载好了,需要给他配置环境
可以通过 cmd命令行 ,mvn -version 来查看maven是否环境配置完成,并且可以插看其版本号!
5.阿里云镜像
- 镜像:mirrors
作用:因为许多网址是外网的,下载速度会非常慢,因此需要使用镜像来加速我们的下载 - 国内建议使用阿里云镜像
对Maven中的setting文件作如下修改:Maven默认通过阿里云镜像来实现下载
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
6.本地仓库
在本地的仓库,远程的仓库;
对Maven中的setting文件作如下修改:
<localRepository>D:XXX\xxx\apache-maven-3.6.2\mavenrepo</localRepository>
7.在IEDA中使用Maven(mavenweb模板)
- 启动IDEA
这里得注意一点**,最好修改掉修改IDEA的Maven的全局默认配置,**不然以后每次建立新的项目都得从新选择Maven的版本,一不注意就使用IDEA自带的就不好了!
修改IDEA的Maven的全局默认配置
- 创建一个MavenWeb项目 (初始模板)
8.创建一个普通模板
创建好项目目录如图所示。
蓝色的java文件夹放java源代码
资源文件里面放一些配置文件
绿色java测试使用。
如果选择web模板就会得到webapp项目。