Как я могу использовать SVN в качестве репозитория Maven

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

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

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

Просто для этого я скопировал локально установленную зависимость из.m2 / repository и зафиксировал ее в 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 ответа

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

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

Другие вопросы по тегам