当前位置: 首页> 技术文章> Maven 安装配置 和 Maven 仓库

Maven 安装配置 和 Maven 仓库

Maven 安装配置 和 Maven 仓库


Maven 安装配置 和 Maven 仓库一、安装及配置

1、下载

到官网下载需要的版本: http://maven.apache.org/download.cgi,直接解压到本地

注意:安装 maven 之前,必须先确保你的机器中已经安装了对应版本的 JDK


对象要求JDKMaven 3.3 要求 JDK 1.7 或以上
Maven 3.2 要求 JDK 1.6 或以上
Maven 3.0/3.1 要求 JDK 1.5 或以上磁盘Maven 自身安装需要大约 10 MB 空间。除此之外,额外的磁盘空间将用于你的本地 Maven 仓库。你本地仓库的大小取决于使用情况,但预期至少 500 MB

2、配置环境变量

添加系统环境变量 MAVEN_HOME,并加在 Path 中

在 cmd 输入 mvn –-version,如果出现 maven 的版本信息,说明配置成功

3、Maven 配置文件 settings.xml

Maven 有两个配置文件 settings.xml。

这两个配置文件里的设置,对所有的pom文件都是有效的。

两个配置文件路径分别为:

Maven安装目录中:$M2_HOME/conf/settings.xml

用户主目录中:${user.home}/.m2/settings.xml

两个配置文件都是可选的。如果两个文件都存在,则用户目录下的配置会覆盖Maven安装目录中的配置。

4、修改本地仓库的路径

从中央仓库下载的 jar 包,都会统一存放到本地仓库中。

默认的本地仓库地址是 ${user.home}/.m2。通常需要修改成自定义的位置。

打开 maven 安装目录,打开 conf 目录下的 setting.xml 文件,修改其中的 <localRepository>节点,设置成自己定义的目录即可。


二、Maven 仓库

在 Maven 中,仓库就是一个位置(place),例如目录,用来存储所有的工程 jar 文件、library jar 文件、插件或任何其他的工程指定的文件。

1、Maven 仓库有三种类型

本地(local)

中央(central)

远程(remote)

2、本地仓库

Maven 本地仓库是本地机器上的一个文件夹。它在第一次运行任何 maven 命令的时候创建。


当运行一次 Maven 构建后,Maven 将从中央仓库和远程仓库中下载所有依赖的 jar 文件到本地仓库路径中。后面再次构建时直接引用本地的依赖文件 ,避免了每次构建时都引用存放在远程机器上的依赖文件。


2.1 修改本地默认仓库路径

Maven 本地仓库默认在  ${user.home}/.m2/repository

%MAVEN_HOME%\conf\settings.xml 文件中修改 <localRepository>节点内容

<!-- 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>节点是被注释的,需要先去掉注释,然后把其中的 /path/to/local/repo 替换成自己指定的路径即可。

3、中央仓库

3.1 中央仓库概念

Maven 中央仓库是由 Maven 社区提供的仓库,其中包含了大量常用的库。

它由 Maven 社区管理,不需要配置。

需要通过网络才能访问。

3.2 访问中央仓库

maven 社区提供了一个 URL:http://search.maven.org/#browse。

通过这个 URL 浏览中央仓库的内容,开发人员可以在中央仓库中搜索所有可以获取的代码库。

4、远程仓库

4.1 远程仓库的概念

如果 Maven 在中央仓库中也找不到依赖的库文件,它会停止构建过程并输出错误信息到控制台。

为避免这种情况,Maven 提供了远程仓库的概念,它是开发人员自己定制的仓库,包含了所需要的代码库或者其他工程中用到的 jar 文件。

4.2 定义远程仓库

在 pom.xml 中增加 <repository>节点,在其中定义远程仓库的 id和 url。


然后在 pom.xml 中增加 <dependency>节点,在其中声明所依赖的文件(在中央仓库中获取不到的)。


类似下面这样:

<project xmlns="http://maven.apache.org/POM/4.0.0"

  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0

  http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <groupId>com.companyname.projectgroup</groupId>

  <artifactId>project</artifactId>

  <version>1.0</version>

  <dependencies>

     <dependency> <!-- 声明依赖文件 -->

        <groupId>com.companyname.common-lib</groupId>

        <artifactId>common-lib</artifactId>

        <version>1.0.0</version>

     </dependency>

  <dependencies>

  <repositories>

     <repository> <!-- 定义远程仓库 -->

        <id>companyname.lib1</id>

        <url>http://download.companyname.org/maven2/lib1</url>

     </repository>

     <repository>

        <id>companyname.lib2</id>

        <url>http://download.companyname.org/maven2/lib2</url>

     </repository>

  </repositories>

</project>

5、Maven 依赖搜索顺序

当我们执行 Maven 构建命令时,Maven 开始按照以下顺序查找依赖的库:

本地仓库local -> 中央仓库central -> 远程仓库remote

详细查找顺序:

1、搜索本地仓库,如果找不到,继续第 2 步,如果找到了则执行其他操作。


2、搜索中央仓库,如果找到了则下载到本地仓库中备用; 如果找不到,并且有一个或多个远程仓库已经设置,则执行第 3 步;如果远程仓库没有被设置,则执行第 4 步报错。


3、在一个或多个远程仓库中搜索依赖的文件,如果找到则下载到本地仓库备用,否则执行第 4 步报错。


4、Maven 将简单的停滞处理并抛出错误(无法找到依赖的文件


上一篇: 软件测试工程师常见的面试题总结(二)

下一篇: 软件测试之手工测试人员如何转测试开发?

QQ技术交流群

多测师官方学习交流
556733550

加入群聊