2015-06-02 2 views
0

Я следую этому руководству:В чем разница между моментом GeoIP2 MaxMind и моим местным?

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

Он говорит:

Мы рекомендуем установить этот пакет с Maven. Чтобы сделать это, добавьте зависимости к pom.xml:

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

Существует также pom.xml файл в хранилище Git из GeoIP2, который гораздо больше - в чем разница между ними?

ответ

2

Цитируется из 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 будет искать зависимость в репозитории , обычно Maven Central Repository, если Maven не настроен на использование другого. Он также автоматически загрузит все остальные необходимые зависимости (transitive dependencies), в этом случае это будут перечисленные выше зависимости, а также любые другие зависимости, от которых зависят и т. Д.

Итак, краткое описание: без инструмента управления зависимостями, такого как Maven, вам нужно вручную убедиться, что у вас есть все правильные зависимости от пути к классам. Maven исправляет это для вас.