2013-04-24 15 views
6

sto affrontando un problema con il rilascio di continuo: preparare fase che non riesce a scm-Check-modifiche passo con l'errore:Maven rilascio: preparare: Impossibile preparare il rilascio perché avete modifiche locali

[ERRORE] org.apache.maven.shared.release.ReleaseFailureException: non possono preparare il rilascio perché avete modifiche locali: [pom.xml: modificata]

quello che ho fatto:

  1. ho commesso tutti i miei cambiamenti (* .java e pom.xml) in SVN
  2. ho fatto una build del progetto in Continuum
  3. ho lanciato la preparazione del rilascio.

So che le modifiche scm-check chiamano la classe ScmCheckModificationsPhase che verifica che non vi siano modifiche locali rispetto a ciò che è presente sullo SCM.

Capisco se sto lavorando con solo Maven, se ci sono alcune modifiche a livello locale, o eventuali differenze tra il codice locale e il SVN per esempio, rilascio: preparare non funzionerà, perché prima controlla le modifiche; ma lavorando con Continuum, non so perché dovrebbe esserci una differenza tra il codice locale e il repository SVN? Quindi non so perché il rilascio: preparare l'obiettivo in Continuum è affrontare questo problema.

esempio del mio pom:

<build> 
     <plugins> 
    ... 
     <plugin> 
      <artifactId>maven-release-plugin</artifactId> 
      <configuration> 
       <useReleaseProfile>false</useReleaseProfile> 
      </configuration> 
     </plugin> 

    ...  
     </plugins> 

    </build> 


<scm> 
    <connection>scm:cvs:ext:url:/var/cvs:application_name</connection>   <developerConnection>scm:cvs:ext:url:/var/cvs:application_name</developerConnection> 
</scm> 

..... 
</project> 

Nella pom.xml genitore:

... 
    <pluginManagement> 

     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-release-plugin</artifactId> 
      <version>2.2.2</version> 
      <configuration> 
      <useReleaseProfile>false</useReleaseProfile> 
      <goals>deploy</goals> 
      <arguments>-Prelease</arguments> 
      </configuration> 
     </plugin> 
..... 

Per informazioni, la costruzione e il rilascio del progetto sta lavorando sempre bene, fino ad ora.

Esiste una soluzione di Bypass che ha risolto il problema ma sto ancora cercando di capire l'origine di questo problema.

La soluzione bypass:

<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> 
+0

Avete controllato la linea di comando al di fuori del continuum? – khmarbaise

+0

confrontando le modifiche apportate nel pom.xml potrebbe darti un'idea di cosa è successo. Potresti aggiungere questa informazione alla tua domanda? – cahen

+0

@khmarbaise: In realtà no, ho bisogno di installare Tortoise per questo, perché Maven si lamenterà perché il comando "svn" non viene riconosciuto. Hai idea del perché Continuum si lamenterà di una differenza di problemi tra SCM e il codice locale? –

risposta

9

posso confermare, che l'aggiunta del plugin o configurarlo per escludere il controllo pom.xml ha funzionato:

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

Rimozione cartella del mio progetto target dalla fonte il controllo ha risolto questo problema per me.

Problemi correlati