Maven 入门 03 - 安装配置 和 Maven 仓库

版权声明:原创不易,欢迎分享和转载,同时请注明出处,谢谢! https://blog.csdn.net/lijing742180/article/details/84592481

一、安装及配置

1、下载

对象 要求
JDK Maven 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>节点,在其中定义远程仓库的idurl

  • 然后在 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 将简单的停滞处理并抛出错误(无法找到依赖的文件)。

猜你喜欢

转载自blog.csdn.net/lijing742180/article/details/84592481