Добавление фляги в WEB-INF \ lib в POM - PullRequest
18 голосов
/ 03 апреля 2012

У меня есть несколько jar-файлов, которые я не получаю ни от каких репозиториев. У меня есть эти jar-файлы в папке WEB-INF \ lib для каталога src. Есть ли способ добавить их как зависимости в POM без указания фактического пути к файлам jar (относительный путь в порядке ..)?

Ответы [ 5 ]

20 голосов
/ 03 апреля 2012

Вы можете определить зависимости следующим образом:

<dependency>
    <groupId>my.group</groupId>
    <artifactId>my.artifact</artifactId>
    <version>a.b</version>
    <scope>system</scope>
    <systemPath>${basedir}/WEB-INF/lib/my.artifact.jar</systemPath>
</dependency>

По сути, вы указываете область как <system>, чтобы указать maven не искать это в репозитории, и <systemPath>, чтобы указать, где она находится. Это будет абсолютный путь, но он может иметь свойства maven. Подробности здесь .

Вы бы делали это для каждой такой банки, которая у вас есть.

4 голосов
/ 03 апреля 2012

Вам следует установить эти файлы в вашем локальном хранилище.В идеале у вас есть общий репозиторий, установленный на вашем локальном компьютере или на удаленном сервере (Nexus, Artifactory, Archiva), и вы развертываете свои jar-файлы в этот репозиторий.

Чтобы установить файл локально, вы можете использовать следующееКоманда (взята с веб-сайта плагина установки Maven):

mvn install:install-file -Dfile=your-artifact-1.0.jar \
                     [-DpomFile=your-pom.xml] \
                     [-Dsources=src.jar] \
                     [-Djavadoc=apidocs.jar] \
                     [-DgroupId=org.some.group] \
                     [-DartifactId=your-artifact] \
                     [-Dversion=1.0] \
                     [-Dpackaging=jar] \
                     [-Dclassifier=sources] \
                     [-DgeneratePom=true] \
                     [-DcreateChecksum=true]

В вашем pom вы можете ссылаться на эти файлы как на обычные зависимости.Дополнительную информацию о плагине установки Maven можно найти на их веб-сайте .

.
3 голосов
/ 05 октября 2015

Использование Подключаемый модуль Apache Maven

  • mvn dependency:copy-dependencies и вы найдете папку target/dependencies, заполненную всеми зависимостями, включая переходные.
  • при загрузке зависимостей сталкиваются с проблемами, используйте mvn dependency:purge-local-repository и попробуйте снова.

Использование затмения:

  1. Щелкните правой кнопкой мыши Свойства проекта.
  2. Выберите вариант Развертывание сборки .
  3. Нажмите на кнопку Добавить .
  4. Выберите Записи пути сборки Java следующим образом.

enter image description here

  1. Нажмите Далее , чтобы получить следующий мастер:
    enter image description here

  2. Выбрать Зависимости Maven .

  3. Нажмите на Готово .
1 голос
/ 03 апреля 2012

Вы можете использовать $ {project.baseuri}, чтобы получить путь к своему проекту, а затем перейти оттуда к каталогу WEB_INF / lib. На этой странице есть список таких свойств, к которым вы можете получить доступ в своем пом.

1 голос
/ 03 апреля 2012

Как правильно указывает Гийом, просто установите банки в свой локальный / корпоративный репозиторий.

Если по какой-либо причине это невозможно, используйте свойство ${basedir}

...