Maven localRepository - PullRequest
       6

Maven localRepository

2 голосов
/ 12 января 2012

Я знаю, что это не идея Maven, а:

Я бы хотел иметь локальный репозиторий Maven (.m2) внутри каталога progect с относительным путем . Есть ли способ, которым я могу сделать так, чтобы мой пом делал это? Есть ли лучшая альтернатива?

Итак, в основном я хочу не зависеть от каких-либо внешних репозиториев.

Спасибо за помощь :)

PS1 - я вроде нуба из Java (здесь c / c ++) и полный maven
PS2. Файл settings.xml в установочном каталоге maven dir / conf содержит элемент localRepository, но я считаю, что у меня не может быть относительного патча. Кроме того, это будет связано не с проектом, а с блоком, где установлен maven.

Ответы [ 2 ]

4 голосов
/ 13 января 2012

Обратите внимание, что в pom.xml вы можете установить ссылку на местоположение конкретного jar-файла, хранящегося в файловой системе. Предположим, у вас есть подпапка lib в корневой папке проекта, которая содержит все библиотеки jar:

<dependency>
  <groupId>commons-logging</groupId>
  <artifactId>commons-logging</artifactId>
  <version>1.0.4</version>
  <scope>system</scope>
  <systemPath>${project.basedir}/lib/commons-logging-1.0.4.jar</systemPath>
</dependency>

При этом groupId, artifactId и version становятся бессмысленными. Исходя из своего собственного опыта, я видел проект оракула, в котором было много настраиваемых банок с другими, которые недоступны через онлайн-хранилище maven, некрасиво, но выполнимо.

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

Я бы хотел иметь локальное репозиторий Maven (.m2) внутри проекта каталог с относительным путем. Есть ли способ, которым я могу сделать мой пом это? * * 1002

Да, есть способ: вы можете указать путь к локальному репо, указав в $ M2_HOME \ conf \ setting.xml

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

Есть ли лучшая альтернатива?

Да, есть лучшая альтернатива :) Вы можете импортировать любой jar-файл в свой локальный репозиторий Maven, чтобы не зависеть от центрального репозитория Maven, и вам не придется хранить локальный репозиторий внутри вашего проекта. Посмотрите эту крошечную статью Как включить пользовательскую библиотеку в локальный репозиторий Maven? , чтобы узнать, как это сделать.

При таком подходе вы можете хранить все необходимые сторонние файлы jar в своем проекте, а также сценарий оболочки / пакетной обработки, который импортирует файлы jar в локальное хранилище. А разработчики просто выполнят сценарий для импорта зависимостей в локальное хранилище вместо изменения настроек maven для использования локального хранилища из определенного места (из проекта).

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