maven学习笔记(二) maven的仓库

来源:互联网 发布:网络拓扑生成算法 编辑:程序博客网 时间:2024/04/28 17:43

maven 的安装目录文件夹列表

这里写图片描述

bin : 里边是maven运行的脚本;
boot:其实里边只有一个jar,是一个类加载器框架;
conf:maven 的配置文档,一般都是修改里边的setting.xml
lib:maven 运行所需要的java类库。

maven 的一些基本概念

maven用的最最最多的功能就是jar包的管理,做java开发很多时候都会用到第三方的jar包,比如jdbc、spring、mybaits等等的jar包。没有jar包管理工具的话,我一般采取的是在项目里建立一个libs文件夹,然后通过各种途径找jar包,官网啦,csdn啦等等。这样一是找起来麻烦,二是可能会遇到很多版本的问题。maven就可以解决这些麻烦。

仓库

maven为了避免用户找jar遇到麻烦,就将很多的构件(jar、插件等)放在一起,组成一个仓库,在没有仓库的情况下,我们有时候会有很多项目会用到相同的jar包,比如log4j等,那么在不同项目的libs目录下都会存在log4j的包,这样其实是很浪费空间的。建立maven仓库之后,这些项目就会共用仓库里的jar包。

本地仓库/远程仓库

本地仓库就是建立在用户计算机上的仓库,在刚才介绍的maven文件夹中,没有仓库这个文件夹,maven的默认仓库地址在用户文件夹下,比我的默认仓库地址是:C:\Users\hp880.m2\repository.很多人其实不喜欢将东西放在C盘。不过这是可以配置的。在maven安装目录conf/setting.xml可以配置本地仓库的位置。不在本地的仓库叫做远程仓库。比如:
本地仓库

<settings>    <localRepository>E://maven_repository</localRepository></settings>

这样就把本地仓库迁到E盘了。
远程仓库的配置

      <repositories>        <repository>          <id>jdk14</id>          <name>Repository for JDK 1.4 builds</name>          <url>http://www.myhost.com/maven/jdk14</url>          <layout>default</layout>          <snapshotPolicy>always</snapshotPolicy>        </repository>      </repositories>

中央仓库

最开始的时候我们的本地仓库其实是空的,这就需要我们从中央仓库下载构件到我们自己的仓库。我们的maven项目需要构件时,会先从本地仓库查找,如果本地仓库没有,那就会去中央仓库下载,maven有默认的中央仓库,中央仓库好像不在国内,如果想要访问中央仓库的话可以设置代理。同样还是在setting.xml里边设置,可以在代理器列表中添加布置一个代理器。

  <proxies>    <proxy>      <id>optional</id>      <active>true</active>      <protocol>http</protocol>      <username>proxyuser</username>      <password>proxypass</password>      <host>proxy.host.net</host>      <port>80</port>      <nonProxyHosts>local.net|some.host.com</nonProxyHosts>    </proxy>  </proxies>

镜像仓库

我们一般情况下没有必要去中央仓库下载构件,尽管可以设置代理,速度也不会是很快。而且maven提供了很多镜像仓库以供访问,镜像仓库指的是和中央仓库内容相同,就像镜子里照出来的仓库。我们可以从中国的镜像仓库里下载需要的构件。配置镜像还是在setting.xml,比如我设置了中国阿里云作为中央仓库的镜像仓库,mirror就是指作为谁的镜像。

  <mirrors>    <mirror>        <id>alimaven</id>        <name>aliyun maven</name>        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>        <mirrorOf>central</mirrorOf>              </mirror>    </mirrors>

私服

私服指的是在局域网内的远程仓库,这样的远程仓库访问速度快,优点很多,配置方式和远程仓库一样。

仓库的认证

一般镜像仓库这些事不用认证的,可能一些私服会设置认证要求,如果有就要在setting里配置了。这个我没用过。

    <server>      <id>deploymentRepo</id>      <username>repouser</username>      <password>repopwd</password>    </server>

通过配置maven的仓库之后,我们就可以从仓库中找到我们所需要的构件(jar)了,具体怎么找到还需要依赖maven的坐标系统,这个在下一篇介绍。

原创粉丝点击