Por que a liberação do MVN: preparar falha durante a marcação?
Pergunta
Com o meu POM multiproject, recebo um erro ao executar a versão: Prepare. Não há nada de extravagante na configuração do projeto e em todas as etapas de lançamento antes de correr bem. O erro que recebo é:
[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
Alguma idéia de onde vem e como contornar isso?
(Desculpe pela postagem duplicada - primeiro foi fechado porque não o formulei como uma pergunta que pode ser respondida. Espero que esteja tudo bem agora.)
EDITAR
O plug -in de liberação do Maven cuida do próprio manuseio da versão. Então, quando verifico o caminho no repositório de subversão, o caminho ainda não existe.
Editar 2
@Ben: Não conheço a versão do servidor, no entanto, o cliente também é 1.5.2.
Solução
Esta questão é abordada na versão mais recente do plugina-liberação do maven. Adicione isso ao seu pom para puxá -lo.
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.0-beta-9</version>
</plugin>
</plugins>
</pluginManagement>
</build>
O problema que foi corrigido é Mrelease-375.
Outras dicas
É porque você não aumentou o número da versão - 1.0.2 já existe no seu repo subversão.
Inclua sua versão ou apenas remova a tag /repos/june/tags/foo-1.0.2 do seu repo.
Roland, se você ainda não viu isso, dê uma olhada no post de John Smart sobre esse problema. Embora o script que ele propõe seja deselegante, ele resolve o problema:
http://weblogs.java.net/blog/johnsmart/archive/2008/12/subversion_mave.html
A outra solução é usar o Git. (Eu == Atualmente escrevendo sobre Maven e Git)
Links potencialmente úteis:
http://weblogs.java.net/blog/johnsmart/archive/2008/12/subversion_mave.html (mencionado anteriormente)
http://jira.codehaus.org/browse/mrelease-427 (o bug real?)
http://jira.codehaus.org/browse/scm-406 (bug relacionado)
http://olafsblog.sysbsb.de/?p=73 (postagem mais nova e talvez mais útil)
Até onde eu sei, é um bug no subversão 1.5 e não está diretamente relacionado ao Maven. No entanto, uma solução alternativa, o fixo para mim é atualizar o repositório SVN local e executar o lançamento: prepare o objetivo novamente.
Passei um bom tempo lutando com isso. Algo é diferente no SVN 1.5.1+ que quebra se compromete com uma tag diretamente da cópia de trabalho - que é exatamente o que o Maven faz. Ainda há muito apontando o dedo sobre quem é responsável por resolver o problema.
Você pode fazer uma 'atualização SVN' e executar o comando de liberação, mas se estiver lançando uma versão: ramificação, isso fará com que o plug -in de liberação não retorne seus arquivos POM ao estado anterior.
A melhor solução alternativa que eu conheço é voltar para a subversão 1.5.0.
Isto é fixo Na versão mais recente do plugin de liberação, 2.0-beta-9
Eu bati neste post, pois estava tendo um problema de compilação em um servidor que não possuía o SVN instalado.
Isso ajudou:Jenkins com subversão