第一次接触maven,记录下笔记。
一、Maven作为项目管理工具,优势在于:
1.maven提供中央仓库,自动下载类库jar文件,并不用手工去下载
2.可以避免依赖的增多,而出现版本不一致,版本冲突等问题
3.为一个类库或者构件都可以用groupId、artifactId与version等坐标 去定位每一个依赖。
二、Maven的下载与安装。
1.下载:
http://maven.apache.org/download.cgi
下载一个zip的压缩包,解压即可。
2.安装:
首先配置环境变量
MAVEN_HOME = D:\maven\apache-maven-3.2.3
MAVEN_OPTS = -Xms128m -Xmx512m(可选)
在path变量末尾加入“%MAVEN_HOME%\bin;”
可以判断是否安装成功,cmd –> mvn -v,如果安装成功会看到一些maven安装信息。
3.关于仓库
不管是远程仓库(中央仓库)还是本地仓库,就是存放jar文件的地方。项目中用到的jar包如果本地没有,会自动连接远程仓库下载,缓存到本地仓库。
- 远程仓库,是官方提供的,http://search.maven.org/访问,可以在网站里搜索想要的jar包。
相关配置在setting.xml中, 配置远程仓库将引入新的配置元素 在元素下,可以使用 子元素声明一个或者多个远程仓库。
例子:
<repositories>
<repository>
<id>jboss</id>
<name>JBoss Repository</name>
<url>http://repository.jboss.com/maven2/</url>
<releases>
<updatePolicy>daily</updatePolicy><!--never,always,intervaln -->
<enabled>true</enabled>
<checksumPolicy>warn</checksumPolicy><!-- fail,ignore -->
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<layout>default</layout>
</repository>
</repositories>
在远程仓库中,不得不提到两个名词,镜像和私服。
镜像:在我看来就是加速器,访问远程仓库与下载变得快很多,目的当然就是为了提高速度,可以在setting.xml中配置:
<mirror>
<id>releases</id>
<mirrorof>*</mirrorof>
<url>
http://maven.aliyun.com/nexus/content/groups/public/
</url>
</mirror>
镜像配置的基本格式就是上边这样,由一个mirrors标签包含多个mirror标签,每一个mirror就是一个具体的镜像。这里需要着重说明的是mirrorOf,正是有了这个属性,才使我们配置的镜
私服:是一种特殊的远程仓库,架在局域网的仓库,私服代理远程仓库,提供局域网用户使用,也是提高下载与访问效率的途径,同时也可以在局域网上上传第三方的构件,供用户下载使用。
此处参考文档,我讲的不清楚,不懂的可以跳转
- 本地仓库
从远程仓库下载缓存到本地的jar的地方,默认为C:\Users\用户名.m2 目录下,这个目录可以修改
①对某个用户修改:
先在/.m2/目录下创建settings.xml文件,然后在~/.m2/settings.xml,设置localRepository元素的值为想要的仓库地址,即
<settings>
<localRepository>D:\maven_repo</localRepository>
</settings>
这个时候的本地仓库位置就变位D:\maven_repo下。注意:此时配置的maven的本地仓库是属于用户范围的
②对全局本地仓库修改:
在%M2_HOME%/conf/settings.xml进行修改,也就是安装目录下的cong下的setting.xml进行上述修改即可。
注:此时更改后,所有的用户都会受到影响,而且如果maven进行升级,那么所有的配置都会被清除,所以要提前复制和备份M2_HOME/conf/settings.xml文件
不完美,但正在努力!