Как я могу использовать 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