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中的代码。是怕我们不会写这些代码,让我们去通过可视化界面去操作。

    • 方式二
    1. 打开一个浏览器,访问包服务器的网站,即maven服务器的那个网站。比如:阿里云的Maven服务器
    2. 在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服务器中的坐标位置,也声明了我们要用的是哪个包,哪个版本

    3. 复制以后,再打开Eclipse的pom.xml文件,将其粘贴到其中的dependencies标签之下(如果没有此标签,自行添加),如下:

      <dependencies>
      ---- <dependency>
      -------- <groupId>ojdbc14</groupId>
      -------- <artifactId>ojdbc14</artifactId>
      -------- <version>10.2.0.4.0</version>
      ---- </dependency>
      </dependencies>

    4. 最后ctrl+s保存,这个Eclipse就会自动下载这个包了。
    • 注意
    1. 利用Maven导包有以上两种方式,一种是在dependencies下去搜这个包。但是这种方式,他要求我们先更新maven的索引,才能这样去搜,如果在家里的话,你更新不了,因为国内的镜像服务器,不提供索引,所以点Add搜包儿这种方式,在家里是用不了的,不通用。另外一种的方式,只要把maven服务器配置好,即可进行导包,是比较通用的方式。
    2. 我们在Maven服务器搜索时,会搜到很多不同版本的包,这些包有的可以用,有的可能会有问题,这个只能是自己多试一试,经过试以后,发现哪个好用,就用哪个。
    3. Maven服务器网址,一般地,应该是Maven的官网,但很遗憾,Maven的官网在国外,被墙了,国内访问不了,可以翻墙访问,如果翻墙不便,也可以访问国内的一些镜像网站,但大部分镜像网站都不稳定,其中阿里云Maven还是比较稳定的,但也不是绝对稳定,有时候也有问题。当然,有条件的话,也可以自己架一个私服。
    4. 实际工作中,一般在项目创建时,包也已经随之导好。我们建项目导包的频率和周期是非常低的,这么给你讲吧,我以前在***开发的时候,我在那待了五年,五年我就开发了一个项目。只需要一个项目,导一次,完了,五年啊。我们做的项目稍微小一点。怎么着也得三四个月,才能做一个项目出来。做一个项目稍微中等规模,也得个一年左右。稍微大的规模。它可能两三年了,即便是这么低的频率,项目经理,或者高级程序员,也早就把它干完了,我们亲自建项目导包的机会是非常有限的。工作时,把已经建好了,包也导好了的项目代码下载过来,直接用即可。

3.导包失败后的处理

  • 正常来说,如果在网络畅通,连接的这个Maven服务器没有问题,应该是能下载成功的,但也有可能网络突然断了,或者说突然服务器的访问量太大,承受不了,有点儿崩溃了,导致没下载成功。如果下载失败,按如下方案处理:
  1. 将pom.xml中的包依赖dependency的代码删除。
  2. 将失败的缓存文件删除。因为我们在导包的时候,这个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。。。。。。。。。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值