Запрос новичка о зависимости Maven и внешних библиотеках - PullRequest
2 голосов
/ 06 февраля 2012

Должен ли я добавлять внешние файлы JAR, даже если я использую зависимости Maven. Я действительно новичок в Maven и действительно не могу понять, для чего он на самом деле используется. Пожалуйста, ведите меня, понимая Maven. Спасибо.

Ответы [ 3 ]

2 голосов
/ 06 февраля 2012

Традиционно, если ваш проект требует использования некоторых инструментов и сред с открытым исходным кодом, вы должны вручную загрузить их с официальных сайтов этих инструментов.Если вы хотите использовать только библиотеки A, но эти библиотеки A зависят от кода из других библиотек B, вам необходимо загрузить обе библиотеки A и B. Это очень хлопотно, поскольку вам нужно не только загружать библиотеки, которые вы хотите использовать,но также загружайте любые дополнительные библиотеки, от которых зависят эти библиотеки.

Суть функции зависимости Maven заключается в том, что она решает такую ​​проблему.Вам нужно только указать, какие библиотеки вы хотите использовать в своем проекте в файле конфигурации (pom.xml), тогда Maven поможет вам автоматически загрузить эти библиотеки и извлечь любые дополнительные библиотеки, которые должны работать с этими библиотеками, из общедоступных репозиториев Maven.или репозитории, которые вы определили в pom.xml.

. Однако по коммерческим соображениям и соображениям авторского права в общедоступных репозиториях Maven доступны не все часто используемые библиотеки. Одним из примеров является драйвер JDBC Oracle.В этом случае вам необходимо вручную загрузить библиотеку и импортировать ее в качестве внешних библиотек для вашего проекта. Вы также можете импортировать ее в локальный репозиторий Maven.

1 голос
/ 06 февраля 2012

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

Например, если вам нужно добавить slf4j внешнюю библиотеку (jar) в ваш проект в качестве зависимости, добавьте следующее в файл maven pom.xml.

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>com.springsource.slf4j.api</artifactId>
  <version>1.5.6</version>
</dependency>

Если у вас есть личная библиотека, которой нет в каких-либо общедоступных репозиториях, вам необходимо установить этот jar-файл в локальный репозиторий maven.

0 голосов
/ 06 февраля 2012

Я бы порекомендовал прочитать эту книгу: http://www.sonatype.com/books/mvnref-book/reference/. Как правило, в проекте Maven не должно быть папки lib с jar-файлами, поскольку в 99% случаев необходимые зависимости могут быть получены из различные репозитории.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...