12
votes

Maven Sortie: Préparez: ne peut pas préparer la libération car vous avez des modifications locales

Je suis confronté à un problème avec la libération du continuum: préparer la phase qui échoue dans SCM-Check-Modifications Pas avec erreur:

[erreur] org.apache.maven.shared.release.relasefailureException: Impossible de préparer la libération car vous avez des modifications locales: [pom.xml: modifié] p> blockQuote>

Qu'est-ce que j'ai fait: p>

  1. J'ai commité tous mes changements (* .java et pom.xml) dans svn li>
  2. J'ai créé une construction du projet dans le continuum li>
  3. J'ai lancé la préparation de la libération. Li> ol>

    Je sais que les modifications de contrôle SCM appellent la classe ScMCheckMotificationsPHASE qui vérifie qu'il n'y a pas de changements locaux par rapport à ce qui se trouve sur le SCM. P>

    Je comprends si je travaille avec Seulement maven, s'il y a des changements localement, ou des différences entre le code local et le SVN par exemple, libération: préparer ne fonctionnera pas, car elle vérifie d'abord les modifications; Mais travailler avec continuum, je ne sais pas pourquoi cela devrait être une différence entre le code local et le référentiel SVN? Donc, je ne sais pas pourquoi la libération: préparer l'objectif dans le continuum est confronté à ce problème. P>

    Exemple de mon POM: P>

    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-release-plugin</artifactId>
      <version>2.2.2</version>
      <configuration>
        ...
        <checkModificationExcludes>
          <checkModificationExclude>pom.xml</checkModificationExclude>
        </checkModificationExcludes>
      </configuration>
    </plugin>
    


6 commentaires

Avez-vous vérifié sur la ligne de commande en dehors du continuum?


La comparaison des modifications effectuées dans le POM.XML peut vous donner une idée de ce qui s'est passé. Pourriez-vous ajouter ces informations à votre question?


@khmarbaise: En fait non, j'ai besoin d'installer de tortue pour cela, car Maven va se plaindre de la commande "svn" ne pas être reconnue. Avez-vous une idée de la raison pour laquelle le continuum se plaindre d'une différence de problèmes entre SCM et le code local?


Oui, c'est un projet de ma société, ils utilisent CVS, je viens de mentionner SVN pour l'exemple. @khmarbaise: Pourriez-vous changer votre dernier message s'il vous plaît? Il contient le domaine de la société, je l'ai changé dans mon poste. Merci.


"Pourquoi le continuum se plainera d'une différence de problèmes entre SCM et le code local qu'il" - parce que les appels de plug-in Maven-Livraison à Maven-Scm-plugin qui effectue la vérification de modification. Et pour chaque fournisseur, il y a une implémentation différente. Vous pouvez donc vérifier le continuum implément que celui qui fonctionne ... Peut-être que pendant le continuum de construction change quelque chose dans le pom.xml (même un espace)?


Ahmedmansour Veuillez définir la bonne réponse comme valide, THX


6 Réponses :


22
votes

Je peux confirmer que l'ajout du plugin ou la configuration pour exclure le chèque pom.xml a fonctionné: xxx


0 commentaires

9
votes

Suppression de la cible de mon projet CIBLE du contrôle de la source fixe ce problème pour moi.


1 commentaires

En tant que note latérale, le dossier Cible de Maven's ne doit jamais être enregistré dans le SCM car il s'agit d'où Maven générer des artefacts de construction intermédiaires et finaux.



4
votes

Pour tout le monde qui ne veut pas changer le pom.xml une option Commandline fait le truc:

MVN [...] -DCheckModificationExcudelist = pom.xml, .maven / spy.log

J'ai eu le problème de notre environnement Hudson / Jenkins CI qui s'est plaint des changements dans le .maven / spy.log


0 commentaires

3
votes
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<configuration>
    <checkModificationExcludes>
        <checkModificationExclude>pom.xml</checkModificationExclude>
        <checkModificationExclude>**</checkModificationExclude>
    </checkModificationExcludes>
</configuration>

0 commentaires

3
votes

pour moi solution est la mise en scène et la commution de POM.XML ou de tout autre fichier modifié pour pousser Git


0 commentaires

0
votes

Ceci est juste une solution de contournement pour l'erreur. J'ai confronté la même erreur avec la version 2.5.3 de la version 2.5.3 de Maven-version et il suffit de trier l'erreur avec Maven-version 2.3.2


0 commentaires