Maven, как добавить дополнительные библиотеки, недоступные в репо - PullRequest
5 голосов
/ 19 марта 2010

У меня есть проект maven, в котором есть набор библиотечных зависимостей, недоступных через репозиторий maven. Как я могу добавить эти библиотеки в пом? Я хочу сделать это, чтобы при запуске mvn eclipse: eclipse он не удалял эти библиотеки из пути к классу eclipse.

Ответы [ 5 ]

6 голосов
/ 19 марта 2010

Вы можете объявить его как зависимость с system scope.

<project>
...
 <dependencies>
   <dependency>
     <groupId>sun.jdk</groupId>
     <artifactId>tools</artifactId>
     <version>1.5.0</version>
     <scope>system</scope>
     <systemPath>${java.home}/../lib/tools.jar</systemPath>
   </dependency>
 </dependencies>
 ...
</project>
3 голосов
/ 19 марта 2010

У вас есть 3 варианта:

  • Добавьте свои библиотеки в локальный репозиторий через install:install-file (очевидно, это не переносимо, вы не сможете собрать проект на другом компьютере, не сделав того же).
  • Установите и запустите «корпоративный репозиторий», такой как Nexus, Archiva или Artifactory, и добавьте свои библиотеки через deploy:deploy-file.
  • Установите хранилище на основе файлов, как описано в этом предыдущем ответе , и поместите туда свои библиотеки.

Затем объявите свои библиотеки в pom, как и любую другую зависимость.

1 голос
/ 19 марта 2010

Вы можете включить их в свой проект в подкаталог (возможно, lib /). Вы также можете предоставить файлы .bat и / или .sh, содержащие все соответствующие вызовы maven-install-plugin, необходимые каждому участнику проекта (или env-серверу) для добавления этих jar-файлов в локальное хранилище.

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

0 голосов
/ 02 июля 2014

Недавно я создал небольшой UI Util для установки библиотек в ваш локальный репозиторий. Он работает так же, как install:install-file.

https://github.com/escv/maven-install-ui

0 голосов
/ 19 марта 2010

Вы не можете «добавить их в пом». Вы должны положить их в репо. Вы можете поместить их в локальный репозиторий с помощью maven-install-plugin, как указано в сообщении об ошибке. Или вы можете развернуть их в локальной копии Nexus или что-то вроде этого.

...