Добавление зависимости в Maven

Как мне взять файл jar, который у меня есть, и добавить его в систему зависимостей в maven 2? Я буду сопровождающим этой зависимости, и моему коду нужен этот jar в пути к классу, чтобы он компилировался.

5 ответов


вам придется сделать это в два шага:

1. Дайте вашему банку 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>

вы также можете указать зависимость не в репозитории 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>

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

на Eclipse, когда вы хотите добавить файл jar в свой проект, обычно вы загружаете jar вручную, а затем бросаете его в lib. С maven, вы не делаете это таким образом. Вот что вы делаете:

  • Go к mvnrespoitory
  • Поиск библиотеки, которую вы хотите добавить
  • скопировать dependency заявление в код pom.xml
  • восстановить через mvn

теперь maven подключится и загрузит jar вместе со списком зависимостей и автоматически разрешать любые дополнительные зависимости, которые jar возможно, имели. Так что если jar также требуется commons-logging, который также будет загружен.


Я бы сделал так:

  1. добавьте зависимость, как вам нравится в вашем pom:

    <dependency>
            <groupId>com.stackoverflow...</groupId>
            <artifactId>artifactId...</artifactId>
            <version>1.0</version>
    </dependency>
    

  2. run mvn install он попытается загрузить банку и потерпит неудачу. На процессе, это даст вам полную команду установки jar с сообщением об ошибке. Скопируйте эту команду и запустите ее! легко да?!


я предположу, что вы спрашиваете, как вытолкнуть зависимость в "известный репозиторий", а не просто спрашиваете, как обновить POM.

Если да, то этой это то, что вы хотите прочитать.

и для тех, кто хочет настроить внутренний сервер репозитория, посмотрите здесь (половина проблемы с использованием Maven 2-это поиск документов)