Maven и Subversion - PullRequest
       41

Maven и Subversion

2 голосов
/ 11 марта 2011

Я работаю над Maven и Subversion.

Я создал проект maven.Теперь я хочу указать это на мой репозиторий (созданный TortoiseSVN).В руководстве по Maven и Subversion я прочитал, что мне следует изменить файл pom.xml.Следуя этим инструкциям, я добавил тег scm, например:

<scm>
<connection>scm:svn:svn+ssh://file:///E:/my-app-repos/trunk</connection>
<developerConnection>scm:svn:svn+ssh://file:///E:/my-app-repos/trunk</developerConnection>
<url>scm:svn:svn+ssh://file:///E:/my-app-repos/trunk</url>
</scm>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<configuration>
<tagBase>svn+ssh://file:///E:/my-app-reposs</tagBase>
</configuration>
</plugin>
</plugins>
</build>

Но затем, когда я пытаюсь mvn release:prepare, я получаю ошибку:

fail to execute goal org.apache.maven.plugins

Что может происходить?

Ответы [ 4 ]

2 голосов
/ 10 мая 2012

Как уже упоминалось, у вас плохой URL. У вас есть ssh+svn://file:///. Это должно быть либо svn://, ssh+svn://, http://, https://, либо file:///.

Однако я заметил, что ваш репозиторий находится на общем диске (диск E :). Если более одного человека используют этот репозиторий Subversion, вам не следует использовать протокол file://. На самом деле, я никогда не использую его, если мне не нужно. Достаточно просто запустить сервер SVN, используя svnserve.

Взгляните на VisualSVN Server . Это коммерческий продукт, но есть бесплатная версия. Он настроит сервер Apache httpd и даст вам возможность настроить этот сервер, включая настройку учетных записей пользователей. Затем каждый может получить доступ к хранилищу, используя http://.

Проблема в том, что использование протокола file:/// означает, что репозиторий должен быть доступен для чтения / записи всем членам вашей группы. Это означает, что любой может напрямую манипулировать хранилищем, не проходя через интерфейс. Кроме того, вы можете получить несколько человек, пытающихся создать ревизию одновременно, и это может полностью испортить весь ваш репозиторий.

Если диск E: является общим диском, не используйте file:///. Вместо этого перейдите на компьютер с Windows, на котором находится этот диск, и запустите svnserve или VisualSVN Server. Вы можете попробовать установить Apache httpd самостоятельно, но это сложная задача для Unix и очень сложная для Windows.

0 голосов
/ 11 марта 2011

Зачем вам нужен протокол svn+ssh для подключения к локальному репозиторию (file:///)? Можете ли вы попробовать удалить svn+ssh и посмотреть, работает ли это. См. это .

scm:svn:file://[hostname]/path_to_repository
0 голосов
/ 10 мая 2012

Вы должны удалить svn + ssh и оставить только файл, это протокол, который вы хотите использовать, поскольку вам достаточно доступа к локальному репозиторию.

scm:svn:file:///E:/my-app-repos/trunk

::

Проверьте эту ссылку: http://maven.apache.org/scm/plugins/usage.html

0 голосов
/ 11 марта 2011

хм, просто предположение, но, вероятно, это не удалось, потому что вы используете локальный сервер SVN.На самом деле, мне интересно, почему вы это делаете?

Попробуйте вместо этого установить репозиторий SVN на веб-сервер.

...