Почему mvn release: prepare терпит неудачу во время пометки? - PullRequest
5 голосов
/ 18 сентября 2008

С моим многопроектным pom я получаю ошибку при запуске 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 Release заботится о самой версии. Поэтому, когда я проверяю путь в хранилище Subversion, путь еще не существует.

РЕДАКТИРОВАТЬ 2
@Ben: Я не знаю версию сервера, но клиент тоже 1.5.2.

Ответы [ 8 ]

10 голосов
/ 15 апреля 2009

Эта проблема устранена в последней версии 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 .

1 голос
/ 14 апреля 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 (более новый и, возможно, более полезный пост)

1 голос
/ 04 февраля 2009

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

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

Другое решение - использовать Git. (Я == в настоящее время пишу о Maven и Git)

1 голос
/ 18 сентября 2008

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

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

0 голосов
/ 15 октября 2013

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

Это помогло: Дженкинс с Subversion

0 голосов
/ 19 апреля 2009

Это исправлено в последней версии релиза плагина, 2.0-beta-9

0 голосов
/ 30 октября 2008

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

Вы можете выполнить svn update и повторно запустить команду release, но если вы выполняете release: branch, это заставит плагин release не возвращать ваши файлы POM в их прежнее состояние.

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

0 голосов
/ 18 сентября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...