Maven学习笔记----基本配置

来源:互联网 发布:游戏开发行业前景知乎 编辑:程序博客网 时间:2024/05/22 00:08

Maven官网:http://maven.apache.org/download.cgi

What?

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。简单的说就是管理Java项目的工具之一。


Why?

1、对第三方依赖库进行统一的版本管理。
使用maven以后,我们不用每个把spring.jar,hibernate.jar这样的第三方jar包复制过来到项目lib目录。通过maven配置文件可以自动导入到项目中,不需要程序员手动去copy。

2、统一项目的目录结构。
可以保证所有项目的目录结构都是一样的,目录结构统一的好处就是,你要找源代码就去src/main/java/下,你要找需要放到classpath下的资源,就去src/main/resources/下,你要找单元测试对应的代码和资源,就去src/test/下。每个目录下放什么东西,程序编译,发布的时候,每个目录起什么作用都很清楚明了,不会出现打开项目找不到要找的文件的情况。

3、统一软件构建阶段
Maven2把软件开发的过程划分成了几个经典阶段,比如你先要生成一些java代码,再把这些代码复制到特定位置,然后编译代码,复制需要放到 classpath下的资源,再进行单元测试,单元测试都通过了才能进行打包,发布。

4、支持多种插件
maven有一些插件很有用,比如内置jetty,不用手动打包放到tomcat的部署目录下,只要一条命令 mvn jetty:run 就可以了。

5、自动生成项目网站和报表
Maven2 可以自动为项目生成一个网站,里面包含了项目信息,参与人,项目管理相关的资源,第三方依赖库,使用的插件,以及通过其他扩展插件生成的各种报表。


Who?

一,下载安装

先到官网http://maven.apache.org/download.cgi 下载最新版本,下载完成后,解压到某个目录
这里写图片描述


二,配置环境变量

系统环境变量里,添加MAVEN_HOME(或M2_HOME),其值为maven的安装目录:E:\apache-maven-3.5.0
这里写图片描述


然后PATH环境变量最后附加上”;%MAVEN_HOME%\bin”
这里写图片描述


检测方法:
win+R输入cmd,然后输入:mvn -version 输出安装版本就ok了

这里写图片描述

新手特别注意如上操作前提:jdk环境必须先安装好,否则后面无法正常编译项目


三,maven仓库

首次运行完mvn -version后,会在用户目录下创建一个.m2的目录(比如:C:\Users\当前用户名.m2),这个目录是maven的“本地仓库”,仓库是maven中一个很重要的概念。
试想一下,我们会在工作中同时创建很多项目,每个项目可能都会引用一些公用的jar包(.NET中是dll文件),一种作法是每个项目里,都复制一份这些依赖的jar包(或dll文件),这样显然不好,相同的文件在硬盘上保存了多份,太占用空间,而且这些依赖的jar包(或dll文件)的版本也不太好管理(比如某个公用的jar包,从1.0升级到2.0,如果所有引用这个jar包的项目都需要更新,必须一个个项目的修改)。

maven的仓库则很好的解决了这些问题,它在每台机器上创建一个本机仓库,把本机上所有maven项目依赖的jar包统一管理起来,而且这些jar包用“坐标”来唯一标识(注:坐标是另一个重要的概念,后面还会讲到,这里只要简单理解成“唯一识别某个jar包文件名、版本号”的标识即可),这样所有maven项目就不需要再象以前那样把jar包复制到lib目录中,整个maven项目看起来十分清爽。

Maven本地资源库

通常情况下,可改变默认的 .m2 目录下的默认本地存储库文件夹到其他更有意义的名称,例如, maven-repo

找到 {M2_HOME}\conf\setting.xml, 更新 localRepository 到其它名称。

{M2_HOME}\conf\setting.xml

<!-- localRepository   | The path to the local repository maven will use to store artifacts.   |   | Default: ${user.home}/.m2/repository  <localRepository>/path/to/local/repo</localRepository>  --><localRepository>E:\apache-maven-3.5.0\mvn\ repos</localRepository>

E:\apache-maven-3.5.0\mvn\ repos 是我们手动配置的maven本地仓库,一般下载的jar包都在这个目录里。

Maven中央存储库

当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载。首先,Maven 将从本地资源库获得 Maven 的本地资源库依赖资源,如果没有找到,然后把它会从默认的 Maven 中央存储库 查找下载。

注:Maven中心储存库网站已经改版本,目录浏览可能不再使用。这将直接被重定向到 http://search.maven.org/。这就好多了,现在有一个搜索功能

国内镜像:

 <mirrors>    <!-- mirror     | Specifies a repository mirror site to use instead of a given repository. The repository that     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.     |    <mirror>      <id>mirrorId</id>      <mirrorOf>repositoryId</mirrorOf>      <name>Human Readable Name for this Mirror.</name>      <url>http://my.repository.com/repo/path</url>    </mirror>     -->    <mirror>        <id>alimaven</id>        <name>aliyun maven</name>        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>        <mirrorOf>central</mirrorOf>            </mirror>  </mirrors>
原创粉丝点击