Maven介绍与使用
前言(Preface)
在工作中,我曾看到同事在看一本讲解Maven的书籍,我当时想Maven不就是一个导包工具么,怎么还需要那么一本厚厚书籍去讲解,后来逐渐发现Maven没那么简单,它的功能还是非常强大的。
1.What is Maven
- 如果用一句话概之,Maven可以简单的理解为,就是一个管理包的工具。在做正式的项目时,基本上项目中都会用到框架,还不是一个框架,一般是三个框架都一起用,Spring,SpringMVC,Mybatis,这些框架加到一起,那个包就有二三十个,一大堆。如果不用Maven去导包和管理它们,而仅仅通过手动管理包的话,那自己要管理几十个包,还要保证包与包之间的版本兼容,人非圣贤,总会有所差错,其难度是非常之大。因此,通常我们都会创建Maven项目,Maven Project。
- 利用Maven管理包算是这个行业的一个默认标准。我们利用Maven导包,只需要指定一个核心包,其他的关联的包,全部会由Maven自动下载。Maven就是一个插件,一个工具,利用Maven导包从本质就是利用这个工具连接上 包的服务器,从这个服务器下载包到我们本地来用。它能下载包,这是Maven管理包的手段。因为Maven需要从服务器下载包到我本地,给我们用。所以,用Maven导包时,必须要保证我们的网络是畅通的,如果网断了,是不可能导包的。另外,还要保证,那个maven的服务器的网址,写的是没有问题的。
2.在Eclipse中如何使用Maven添加依赖
- 相关知识:POM.
- 准备工作:使用maven的前提,一是要有网络。二是要配置好maven的服务器的网址。
- 配置Maven服务器:在Eclipse中,点击Window,选择Preferences首选项,弹出框里有一个选项叫Maven,Maven里有个选项(一般是最后一个选项)叫User Settings用户设置。
User Settings
Global Settings(open file):
D:\tts9\apache-maven-3.3.9\conf\settings.xml Browse…
User Settings:
C:\Users\adminitator.m2\settings.xml Browse…
Update Settings
Local Repository (From merged user and global settings):
C:\Users\adminitartor.m2\repository Reindex
其中,Global Settings这个配置,就是你的maven配置文件的位置路径,比如D:\tts9\apache-maven-3.3.9\conf\settings.xml。我们可以通过这个文件路径找到那个盘符打开,或者是点击链接open file,可以直接打开setting.xml文件。以连接阿里云Maven为例,进行如下配置:
<mirrors>
----<mirror>
--------<id>alimaven</id>
--------<name>aliyun maven</name>
--------<url>http://maven.aliyun.com/nexus/content/groups/public</url>
--------<mirrorOf>central</mirrorOf>
----</mirror>
----<mirror>
--------<id>CN</id>
--------<name>OSChina Central</name>
--------<url>http://maven.oschina.net/content/groups/public/</url>
--------<mirrorOf>central</mirrorOf>
----</mirror>
<mirrors>
注:<url>http://maven.oschina.net/content/groups/public/</url>
用这个也行。
- 操作步骤:
- 方式一:
1.打开我们这个项目下的pom.xml
2.点击他第二个选项叫dependencies
3.点击Add,搜索包(本质上是修改最后一个选项pom.xml配置文件)
4.搜到以后,保存。Maven会自动从包服务器上下载这个包。
通过Add按钮,修改pom.xml中的代码。是怕我们不会写这些代码,让我们去通过可视化界面去操作。
- 方式二:
- 打开一个浏览器,访问包服务器的网站,即maven服务器的那个网站。比如:阿里云的Maven服务器
- 在Maven服务器的网站上搜索依赖,那个我们需要导入的包,以Oracle的驱动包为例,搜索ojdbc,选择如下:
Group: ojdbc14 Artifact: ojdbc14 Version: 10.2.0.4.0,
组名叫ojdbc14,项目名也叫ojdbc14,然后找到ojdbc14-10.2.0.4.0.jar,这个jar包选中,将其出现如下的xml代码复制:<dependency>
----<groupId>ojdbc14</groupId>
----<artifactId>ojdbc14</artifactId>
----<version>10.2.0.4.0</version>
</dependency>
这段代码指定了我们所需要的包,在所连接的maven服务器中的坐标位置,也声明了我们要用的是哪个包,哪个版本 - 复制以后,再打开Eclipse的pom.xml文件,将其粘贴到其中的dependencies标签之下(如果没有此标签,自行添加),如下:
<dependencies>
----<dependency>
--------<groupId>ojdbc14</groupId>
--------<artifactId>ojdbc14</artifactId>
--------<version>10.2.0.4.0</version>
----</dependency>
</dependencies>
- 最后ctrl+s保存,这个Eclipse就会自动下载这个包了。
- 注意:
- 利用Maven导包有以上两种方式,一种是在dependencies下去搜这个包。但是这种方式,他要求我们先更新maven的索引,才能这样去搜,如果在家里的话,你更新不了,因为国内的镜像服务器,不提供索引,所以点Add搜包儿这种方式,在家里是用不了的,不通用。另外一种的方式,只要把maven服务器配置好,即可进行导包,是比较通用的方式。
- 我们在Maven服务器搜索时,会搜到很多不同版本的包,这些包有的可以用,有的可能会有问题,这个只能是自己多试一试,经过试以后,发现哪个好用,就用哪个。
- Maven服务器网址,一般地,应该是Maven的官网,但很遗憾,Maven的官网在国外,被墙了,国内访问不了,可以翻墙访问,如果翻墙不便,也可以访问国内的一些镜像网站,但大部分镜像网站都不稳定,其中阿里云Maven还是比较稳定的,但也不是绝对稳定,有时候也有问题。当然,有条件的话,也可以自己架一个私服。
- 实际工作中,一般在项目创建时,包也已经随之导好。我们建项目导包的频率和周期是非常低的,这么给你讲吧,我以前在***开发的时候,我在那待了五年,五年我就开发了一个项目。只需要一个项目,导一次,完了,五年啊。我们做的项目稍微小一点。怎么着也得三四个月,才能做一个项目出来。做一个项目稍微中等规模,也得个一年左右。稍微大的规模。它可能两三年了,即便是这么低的频率,项目经理,或者高级程序员,也早就把它干完了,我们亲自建项目导包的机会是非常有限的。工作时,把已经建好了,包也导好了的项目代码下载过来,直接用即可。
- 方式一:
3.导包失败后的处理
- 正常来说,如果在网络畅通,连接的这个Maven服务器没有问题,应该是能下载成功的,但也有可能网络突然断了,或者说突然服务器的访问量太大,承受不了,有点儿崩溃了,导致没下载成功。如果下载失败,按如下方案处理:
- 将pom.xml中的包依赖dependency的代码删除。
- 将失败的缓存文件删除。因为我们在导包的时候,这个eclipse会立刻从服务器下载这个包,它不可能说是一点下载不了,它是下载一半儿失败了,所以它有垃圾文件。
关于载失败缓存文件的位置:可以通过Eclipse的Project Explorer视图相应的项目里面的Maven Dependencies目录下看到,比如:
Maven Dependencies
ojdbc14-10.2.0.4.0.jar - C:\User\adminitartor.m2\repository\ojdbc14\ojdbc14\10.2.0.4.0我们需要把这个repository下的ojdbc14这个目录删掉,如果垃圾文件在,Eclipse就认为这有文件了,没有必要下载,它就不下载了。所以要删除这个缓存文件。
4.未完待续。。。
5.未完待续。。。
6.未完待续。。。
7.未完待续。。。
9.未完待续。。。
参考文献(References)
1..
2..
3..
文中如有侵权行为,请联系me。。。。。。。。。。。。。