2008-09-18 9 views
5

Con mi pom multiproyecto recibo un error mientras ejecuto la versión: prepare. No hay nada de lujoso en la configuración del proyecto y cada lanzamiento antes se ejecuta bien. El error que consigo es:¿Por qué mvn release: prepare fail while tagging?

 
    [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 

Alguna idea de dónde viene y cómo conseguir alrededor de él?

(lo siento por mensaje duplicado -.. Primero fue cerrado porque no formular como una pregunta que puede ser contestada espero que sea bien ahora)

EDITAR
El experto liberación plugin se encargar de la versión en sí misma. Entonces, cuando verifico la ruta en el repositorio de subversión, la ruta aún no existe.

EDIT 2
@Ben: No sé la versión del servidor, sin embargo, el cliente es 1.5.2, también.

Respuesta

10

This el problema se aborda en la última versión del maven-release-plugin. Agregue esto a su POM para instalarlo.

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

La cuestión que se fija es MRELEASE-375.

0

Que yo sepa, es un error en Subversion 1.5 y no está directamente relacionado con maven. Sin embargo, una solución alternativa para solucionarlo es actualizar el repositorio de svn local y ejecutar el lanzamiento: preparar el objetivo nuevamente.

1

Es porque no ha aumentado el número de versión - 1.0.2 ya existe en su repositorio de Subversion.

Incremente su versión o simplemente elimine la etiqueta /repos/june/tags/foo-1.0.2 de su repositorio.

0

Pasé bastante tiempo luchando con esto. Algo es diferente en SVN 1.5.1+ que rompe el compromiso de una etiqueta directamente de la copia de trabajo, que es exactamente lo que hace Maven. Todavía hay muchos señalamientos sobre quién es el responsable de solucionar el problema.

Puede hacer una 'svn update' y volver a ejecutar el comando de liberación, pero si está haciendo una versión: branch, esto hará que el complemento de la versión no devuelva sus archivos POM a su estado anterior.

La mejor solución que conozco es regresar a Subversion 1.5.0.

1

Roland, si aún no ha visto esto, eche un vistazo a la publicación del blog de John Smart sobre este problema. Aunque el guión que propone es poco elegante, que resuelve el problema:

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

La otra solución es usar Git. (Me == escribiendo actualmente sobre Maven y GIT)

+0

Gracias por la información adicional. No sabía la entrada del blog todavía. –

0

Ésta es fixed en la última versión plug-in de liberación, 2,0-beta-9

0

llegué a este post como yo estaba teniendo un problema de acumulación en un servidor que no se han instalado SVN.

Esto ayudó: Jenkins with Subversion