jestem w obliczu problemu z wydaniem Continuum: przygotować fazę, która zawodzi w SCM-check-modyfikacje kroku z błędem:Maven Release: przygotować: Nie można przygotować zwolnienie, bo trzeba lokalne modyfikacje
[ERROR] org.apache.maven.shared.release.ReleaseFailureException: nie można przygotować zwolnienie, bo trzeba lokalne modyfikacje: [pom.xml: zmodyfikowany]
co zrobiłem:
- I popełnione wszystkie moje zmiany (* .java i pom.xml) do SVN
- zrobiłem kompilację projektu w Continuum
- I rozpoczęła przygotowania do wydania.
Wiem, że modyfikacje sprawdzania poprawek SCM wywołują klasę ScmCheckModificationsPhase, która sprawdza, czy nie ma lokalnych zmian w porównaniu do tego, co jest w SCM.
Rozumiem, że jeśli pracuję tylko z Maven, jeśli są jakieś lokalne zmiany lub jakieś różnice między lokalnym kodem a SVN na przykład, release: przygotowanie nie zadziała, ponieważ najpierw sprawdza modyfikacje; ale pracując z Continuum, nie wiem, dlaczego powinna to być różnica między lokalnym kodem a repozytorium SVN? Więc nie wiem, dlaczego wydanie: przygotuj cel w Continuum, staje przed tym problemem.
Przykład mojego 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>
W pom.xml dominującej:
...
<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>
.....
Aby uzyskać więcej informacji, kompilacja i uwolnienie projektu jest zawsze działa poprawnie, aż do teraz.
Istnieje rozwiązanie Bypass, które rozwiązało mój problem, ale wciąż staram się zrozumieć pochodzenie tego problemu.
Rozwiązanie 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>
Czy sprawdziłeś w linii poleceń poza kontinuum? – khmarbaise
Porównanie modyfikacji dokonanych w pom.xml może dać ci pojęcie o tym, co się stało. Czy możesz dodać te informacje do swojego pytania? – cahen
@khmarbaise: Właściwie nie, muszę zainstalować Tortoise, ponieważ Maven będzie narzekał, że polecenie "svn" nie zostanie rozpoznane. Czy masz jakiś pomysł, dlaczego Continuum będzie narzekać na różnice w problemie między SCM a lokalnym kodem? –