Почему mvn release:prepare не работает при пометке?

С моим многопроектным проектом я получаю сообщение об ошибке при запуске выпуска: подготовка. В настройке проекта нет ничего особенного, и каждый шаг до релиза работает нормально. Ошибка, которую я получаю:

    [INFO] ------------------------------------------------------------------------
    [ERROR] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Unable to tag SCM
    Provider message:
    The svn tag command failed.
    Command output:
    svn: Commit failed (details follow):
    svn: File '/repos/june/tags/foo-1.0.2/foo.bar.org/pom.xml' already exists

Любая идея, откуда она берется и как ее обойти?

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

EDIT
Плагин выпуска maven сам заботится об обработке версий. Поэтому, когда я проверяю путь в репозитории Subversion, путь еще не существует.

EDIT 2
@Ben: я не знаю версию сервера, но клиент тоже 1.5.2.


person Roland Schneider    schedule 18.09.2008    source источник


Ответы (8)


Эта проблема устранена в последней версии maven-release-plugin. Добавьте это в свой POM, чтобы вытащить его.

<build>
  <pluginManagement>
    <plugins>
      <plugin>
        <artifactId>maven-release-plugin</artifactId>
        <version>2.0-beta-9</version>
      </plugin>
    </plugins>
  </pluginManagement>
</build>

Исправлена ​​проблема: MRELEASE-375.

person Dominic Mitchell    schedule 15.04.2009

Это потому, что вы не увеличили номер версии — 1.0.2 уже существует в вашем репозитории Subversion.

Либо увеличьте свою версию, либо просто удалите тег /repos/june/tags/foo-1.0.2 из вашего репозитория.

person PEELY    schedule 18.09.2008

Роланд, если вы еще этого не видели, взгляните на сообщение в блоге Джона Смарта об этой проблеме. Хотя сценарий, который он предлагает, некрасивый, он решает проблему:

http://weblogs.java.net/blog/johnsmart/archive/2008/12/subversion_mave.html

Другое решение — использовать Git. (Я == сейчас пишу о Maven и Git)

person Tim O'Brien    schedule 03.02.2009
comment
Спасибо за дополнительную информацию. Я еще не знал запись в блоге. - person Roland Schneider; 19.02.2009

Потенциально полезные ссылки:

http://weblogs.java.net/blog/johnsmart/archive/2008/12/subversion_mave.html (упомянутый ранее)

http://jira.codehaus.org/browse/MRELEASE-427 (настоящая ошибка?)

http://jira.codehaus.org/browse/SCM-406 (сопутствующая ошибка )

http://olafsblog.sysbsb.de/?p=73 (новее и, возможно, больше полезный пост)

person Jesse Glick    schedule 14.04.2009

Насколько я знаю, это ошибка в Subversion 1.5 и не имеет прямого отношения к maven. Однако обходной путь, исправленный для меня, заключается в том, чтобы обновить локальный репозиторий svn и снова запустить цель выпуска: подготовка.

person Roland Schneider    schedule 18.09.2008

Я довольно долго боролся с этим. Что-то отличается в SVN 1.5.1+, что прерывает фиксацию тега прямо из рабочей копии, что и делает Maven. До сих пор многие указывают на то, кто несет ответственность за решение проблемы.

Вы можете выполнить «обновление svn» и повторно запустить команду выпуска, но если вы выполняете выпуск: ветка, это приведет к тому, что подключаемый модуль выпуска не вернет ваши файлы POM в их предыдущее состояние.

Лучший известный мне обходной путь — вернуться к Subversion 1.5.0.

person Community    schedule 30.10.2008

Это исправлено в последнем выпуске подключаемого модуля, 2.0-beta-9.

person Brian Fox    schedule 19.04.2009

Я наткнулся на этот пост, так как у меня возникла проблема со сборкой на сервере, на котором не был установлен svn.

Это помогло: Jenkins с Subversion

person theINtoy    schedule 15.10.2013