Как взять файл jar, который у меня есть, и добавить его в систему зависимостей в maven 2? Я буду сторонником этой зависимости, и мой код нуждается в этом банке в пути класса, чтобы он скомпилировался.
Добавить зависимость в Maven
Ответ 1
Вам нужно сделать это в два этапа:
1. Дайте вашему JAR файл groupId, artifactId и версию и добавьте его в свой репозиторий.
Если у вас нет внутреннего репозитория, и вы просто пытаетесь добавить JAR в свой локальный репозиторий, вы можете установить его следующим образом, используя любые произвольные идентификаторы groupId/artifactIds:
mvn install:install-file -DgroupId=com.stackoverflow... -DartifactId=yourartifactid... -Dversion=1.0 -Dpackaging=jar -Dfile=/path/to/jarfile
Вы также можете развернуть его во внутреннем репозитории, если он есть, и хотите сделать его доступным для других разработчиков в вашей организации. Я просто использую свой веб-интерфейс репозитория для добавления артефактов, но вы должны иметь возможность выполнить одно и то же, используя mvn deploy:deploy-file ...
.
2. Обновите зависимые проекты для ссылки на этот JAR.
Затем обновите зависимость в pom.xml проектов, использующих JAR, добавив следующее к элементу:
<dependencies>
...
<dependency>
<groupId>com.stackoverflow...</groupId>
<artifactId>artifactId...</artifactId>
<version>1.0</version>
</dependency>
...
</dependencies>
Ответ 2
Вы также можете указать зависимость не в репозитории maven. Может быть полезно, когда нет центрального хранилища maven для вашей команды или если у вас есть сервер CI
<dependency>
<groupId>com.stackoverflow</groupId>
<artifactId>commons-utils</artifactId>
<version>1.3</version>
<scope>system</scope>
<systemPath>${basedir}/lib/commons-utils.jar</systemPath>
</dependency>
Ответ 3
Собственно, при расследовании этого, я думаю, все эти ответы неверны. Ваш вопрос вводит в заблуждение из-за нашего уровня понимания maven
. И я говорю, потому что я просто познакомился с maven
.
В Eclipse
, когда вы хотите добавить файл jar в свой проект, обычно вы загружаете банку вручную, а затем бросаете ее в каталог lib. С maven вы этого не делаете. Вот что вы делаете:
- Перейдите в mvnrespoitory
- Поиск библиотеки, которую вы хотите добавить
- Скопируйте оператор
dependency
вpom.xml
- перестроить через
mvn
Теперь maven
будет подключаться и загружать jar
вместе со списком зависимостей и автоматически разрешать любые дополнительные зависимости, которые могли иметь jar
. Так что, если jar
также нуждался в регистрации сообщений, которые также будут загружены.
Ответ 4
Я бы сделал это:
-
добавьте зависимость, как вам нравится в вашем pom:
<dependency> <groupId>com.stackoverflow...</groupId> <artifactId>artifactId...</artifactId> <version>1.0</version> </dependency>
-
Запустите maven - он попытается загрузить банку и провалиться. В этом процессе даст вам полную команду по установке фляги с сообщением об ошибке. Скопируйте эту команду и запустите ее! Легко ли?!
Ответ 5
Я предполагаю, что вы спрашиваете, как перенаправить зависимость в "известный репозиторий", а не просто спрашивать, как обновить POM.
Если да, то это - это то, что вы хотите прочитать.
И для тех, кто хочет создать внутренний сервер репозитория, посмотрите здесь (половина проблемы с использованием Maven 2 - это поиск документов )