Maven如何自动解决jar库的依赖性。


出版日期:2021年1月17日。



INFOMARTION > Maven如何自动解决jar库的依赖性。

概述。

Maven会自动从互联网上下载罐子,但我想解释一下它到底是如何工作的。

本文的前提是,你需要了解什么是Maven,所以如果你对Maven本身不熟悉,也应该参考以下文章。

什么是Maven,Maven是做什么的?

目录

  1. Maven解决jar库依赖关系的能力。
  2. 摘要

1. Maven解决jar库依赖关系的能力。

只需在pom.xml文件中定义所需的jar文件,Maven就能自动检索jar文件。 它还会自动学习运行该jar所需的依赖性jar。 我想解释一下它是如何工作的。

1-1. 在pom.xml文件中应包括什么。

首先,为了解决jar库的依赖性,在pom.xml文件中提供了信息。 Maven处理来自pom.xml文件的信息。 例如,如果需要 "poi-3.17.jar",它在 pom.xml 中的描述如下。 (顺便说一下,'poi-3.17.jar'是一个用于操作微软Office文件(如Excel)的jar。)

pom.xml


<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.17</version>
</dependency>

只需提及上述内容,就可以从互联网上下载 "poi-3.17.jar",同时从互联网上下载运行 "poi-3.17.jar "所需的配套jar。

1-2. 它们是如何从网上下载的?

对该系统的简单解释如下图所示。

从互联网上的Maven仓库下载。 如果没有设置,默认值是中央存储库。 网址如下。

https://repo1.maven.org/maven2/

如果你有兴趣,请参见以下网站,了解互联网上的资料库清单。

https://mvnrepository.com/repos

第一次,从外部资源库获取jar,但它被复制到本地资源库,从第二次开始就不被获取了。 本地资源库的位置是 "C:\Users\user\.m2"。

如果你想改变默认值的目的地,你也可以通过在pom.xml中包含以下版本库标签来改变目的地。

pom.xml


<repositories>
    <repository>
        <id>sonatype-nexus-snapshots</id>
        <name>Sonatype Nexus Snapshots</name>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
        </snapshots>
    </repository>
</repositories>

1-3. 解决要获得的罐子的依赖性的机制。

我们刚刚描述了一个获得'poi-3.17.jar'的例子,但是'poi-3.17.jar'需要'commons-collections4-4.1.jar'才能运行。 这意味着'poi-3.17.jar'依赖于'commons-collections4-4.1.jar'。 解决这一依赖关系的机制可以在存放'poi-3.17.jar'的Maven仓库中找到。 网址如下。

https://repo1.maven.org/maven2/org/apache/poi/poi/3.17/

我认为 "poi-3.17.pom "被存储了,在这个文件中你会发现 "poi-3.17.jar "依赖于 "commons-collections4-4.1.jar "的信息。 这意味着当检索'poi-3.17.jar'时,系统不仅检索jar文件,还检索pom文件并检查其他必要的jar文件。

2. 摘要

Maven解决jar库依赖关系的机制是,在存放要检索的jar文件的pom文件中定义依赖关系。

谢谢你一直看到最后。




■INFORMATION

请点击这里,进入信息首页。


■PROFILE

请点击这里查看简介。


■联系方式。

有关文章的查询,请在此与我们联系。