Question

Avec mon pom multiprojet, je reçois une erreur lors de l'exécution de la version: prepare. La configuration du projet n'a rien d'extraordinaire et chaque étape de publication avant se déroule correctement. L'erreur que je reçois est la suivante:

    [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

Avez-vous une idée de sa provenance et de la manière de la contourner?

(désolé pour le post en double. Le premier a été fermé car je ne l’ai pas formulé comme une question à laquelle on peut répondre. J'espère que ça va maintenant.)

MODIFIER
Le plugin maven release s’occupe de la gestion de la version elle-même. Ainsi, lorsque je vérifie le chemin dans le référentiel Subversion, il n’existe pas encore.

EDIT 2
@Ben: Je ne connais pas la version du serveur, mais le client est également 1.5.2.

Était-ce utile?

La solution

Ce problème est traité dans la dernière version du maven-release-plugin . Ajoutez ceci à votre POM pour l'insérer.

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

Le problème qui a été résolu est MRELEASE-375 .

Autres conseils

C'est parce que vous n'avez pas augmenté le numéro de version - 1.0.2 existe déjà dans votre référentiel Subversion.

Augmentez votre version ou supprimez simplement la balise /repos/june/tags/foo-1.0.2 de votre référentiel.

Roland, si vous ne l'avez pas déjà vu, jetez un coup d'œil au billet de blog de John Smart sur ce problème. Bien que le scénario qu'il propose soit peu élégant, il résout le problème:

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

L’autre solution consiste à utiliser Git. (Moi == écrit actuellement sur Maven et Git)

Autant que je sache, il s'agit d'un bogue dans Subversion 1.5 et non directement lié à maven. Cependant, une solution de contournement pour y remédier consiste à mettre à jour le référentiel svn local et à exécuter de nouveau la version: prepare goal.

J'ai passé pas mal de temps à me battre avec ça. Quelque chose de différent dans SVN 1.5.1+ interrompt la validation d'une étiquette directement dans la copie de travail - c'est exactement ce que Maven fait. Il y a encore beaucoup d'indications à faire pour déterminer qui est responsable de la résolution du problème.

Vous pouvez effectuer une 'mise à jour svn' et réexécuter la commande release, mais si vous effectuez une branche: release, le plug-in release ne renverra pas vos fichiers POM à leur état précédent.

La meilleure solution que je connaisse consiste à revenir à Subversion 1.5.0.

Ceci est corrigé dans la version la plus récente du plugin, 2.0-beta-9

J'ai lu ce message car j'avais un problème de compilation sur un serveur sur lequel svn n'était pas installé.

Cela a aidé: Jenkins avec Subversion

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top