Как я могу использовать SVN в качестве репозитория Maven - PullRequest
3 голосов
/ 09 декабря 2011

Я работаю над проектом, который имеет несколько зависимостей.Большая часть зависимостей доступна в нашем централизованном репозитории maven.Мой проект включает в себя несколько JAR-файлов, которые относятся только к моему приложению и недоступны в нашем репозитории Maven.Из-за некоторых политик / ограничений я не могу развернуть эти jar-файлы в нашем репозитории maven.

Когда я устанавливаю эти jar-файлы в мой локальный репозиторий (т.е. UserHome / .m2 / repository) и компилирую код, он работает нормально.

Теперь мне нужны эти зависимости в SVN, чтобы мы могли собрать пакет приложения с помощью Continuum. (Мы не можем ссылаться на локальную зависимость с сервера Continuum.)

Просто для достижения этой цели я скопировал локально установленную зависимость.м2 / хранилище и совершено в SVN.Затем я объявил репозиторий в pom.xml как ..

<repositories>
  <repository>
      <id>repo.pu</id>
      <name>repo.pu</name>
      <url>https://URL/migration2/APP1/src/main/lib/</url>
      <layout>default</layout>
  </repository>
</repositories>

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

<dependencies>
<dependency>
  <groupId>repo.pu</groupId>
  <artifactId>Ptestval</artifactId>
  <version>1.0</version>
</dependency>
</dependencies>

Когда я набираю mvn, проверяю, что яполучая приведенную ниже ошибку ..

[ERROR] Failed to execute goal on project APP1: Could not resolve dependencies f
or project fileservices.migration2:APP1:jar:1.0: Failed to collect dependencies
for [repo.pu:Ptestval:jar:1.0 (compile)]: Failed to read artifact descriptor for
repo.pu:Ptestval:jar:1.0: Could not transfer artifact repo.pu:Ptestval:pom:1.0
from/to repo.pu (https://URL/migration2/APP1/src/main/lib/): Access denied to: 
https://URL/migration2/APP1/src/main/lib/repo/pu/Ptestv
al/1.0/Ptestval-1.0.pom -> [Help 1]

Не могли бы вы, пожалуйста, кто-нибудь помочь мне решить эту проблему?

РЕДАКТИРОВАТЬ: Я создал хранилище, как ..

    <repositories>
       <repository>
       <id>repo.pu</id>
       <name>repo.pu</name>
       <url>https://SVNUserName:SVNPassword@SVN_URL/BaseProj/ProjA/src/main/lib</url> 
       <layout>default</layout>
       </repository>
     </repositories>

Эта техника отлично работает на моем персональном ноутбуке.Maven загружает перечисленную зависимость из репозитория.

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

Может кто-нибудь помочь мне, пожалуйста?В чем будет проблема?Это проблема сети?

Ответы [ 2 ]

3 голосов
/ 09 декабря 2011

Установите менеджер репозитория, такой как Nexus, и не злоупотребляйте Subversion из-за того, для чего он не предназначен. К сожалению, это сделано в Google Code.

1 голос
/ 09 декабря 2011

Вы должны настроить свой проект для использования wagon-scm.Смотри http://maven.apache.org/wagon/wagon-providers/wagon-scm/usage.html

...