【问题标题】:What is the difference between the GeoIP2 MaxMind pom and my local one?GeoIP2 MaxMind pom 和我本地的有什么区别?
【发布时间】:2015-06-02 15:53:27
【问题描述】:

我正在遵循本指南:

https://github.com/maxmind/GeoIP2-java

上面写着:

我们建议使用 Maven 安装此软件包。为此,请将依赖项添加到您的 pom.xml:

<dependency>
    <groupId>com.maxmind.geoip2</groupId>
    <artifactId>geoip2</artifactId>
    <version>2.2.0</version>
</dependency>

GeoIP2 的 Git 存储库中也有 pom.xml 文件,该文件要长得多 - 它们之间有什么区别?

【问题讨论】:

    标签: java maven geoip


    【解决方案1】:

    引用自official homepage

    Apache Maven 是一个软件项目管理和理解工具。基于项目对象模型 (POM) 的概念,Maven 可以从一条中心信息管理项目的构建、报告和文档。

    pom.xml 视为 Maven 的核心。在该文件中,您可以指定依赖项(通常是 jar 文件)和其他信息,例如应该如何构建项目。无需深入研究,Maven 的优势之一就是它可以管理项目的依赖关系

    为了回答您的具体问题,GeoIP2 使用 Maven 管理其依赖项。它的 pom.xml 的这一部分定义了它们:

    <dependencies>
        <dependency>
            <groupId>com.maxmind.db</groupId>
            <artifactId>maxmind-db</artifactId>
            <version>1.0.0</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.google.http-client</groupId>
            <artifactId>google-http-client</artifactId>
            <version>1.20.0</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.5.3</version>
        </dependency>
    </dependencies>
    

    通过在您自己的项目中使用 Maven,您只需将一个依赖项添加到 GeoIP2。然后,Maven 将在 repository 中搜索依赖项,如果 Maven 未配置为使用另一个,则通常是 Maven Central Repository。它还将自动下载所有其他需要的依赖项 (transitive dependencies),在这种情况下,它将是上面列出的依赖项,以及那些依次依赖的任何其他依赖项,依此类推。

    所以,简单回顾一下:如果没有像 Maven 这样的依赖管理工具,您需要手动确保在类路径上拥有所有正确的依赖。 Maven 为您解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-12
      • 1970-01-01
      • 2023-03-19
      • 2014-11-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多