Ich verwende das M2-Release-Plugin von Jenkins , das intern das maven-release-plugin 2.3.2 aufruft und beim Erstellen dieses Fehlers verursacht: You don't have a SNAPSHOT project in the reactor projects list
. Problem ist, meine Projekte poms haben ihre Version als 1.0.0-SNAPSHOT. Was vermisse ich?
com.abc.def
ist company parent POM
, und ich mache nur für mvn release
für utils
Und ja, ich habe meinen grundlegenden Google + SO-Trawl gemacht und überall darauf hingewiesen, dass meine POMs SNAPSHOT als Version haben sollten, die schon da ist. Nur dass meine Firma Eltern POM ist kein Snapshot. Könnte das der Grund sein?
Ich hatte das gleiche Problem, aber diese Lösungen haben nicht funktioniert. Dieser Blogpost von Tomek Kaczanowski Schlag den Nagel auf den Kopf.
Die Ursache ist oft, dass die Jenkins SVN-Strategie auf "svn update so viel wie möglich verwenden" eingestellt ist, was den Build-Arbeitsbereich zwischen Builds nicht bereinigt.
Wenn Sie versuchen, eine Veröffentlichung zu schneiden, wird Jenkins Ihren Pom aktualisieren und einige temporäre Dateien erstellen. Wenn die Veröffentlichung fehlschlägt, werden diese Pom-Updates und temporären Dateien nicht bereinigt. Wenn Sie also das Pom reparieren und versuchen, es neu zu erstellen, erhalten Sie den You don't have a SNAPSHOT project in the reactor projects list
-Fehler aufgrund dieser funkigen Workspace-Artefakte, die Jenkins verwirren.
Die Lösung besteht darin, Ihre Jenkins SVN-Strategie zu ändern. Folgendes könnte funktionieren:
Ich würde auch empfehlen, dass Sie Ihren Jenkins-Arbeitsbereich ausräumen, nur um sicherzustellen, dass Sie neu anfangen.
Master pom
muss auch nicht SNAPSHOT
sein (bei meiner Firma haben wir das gleiche Setup und es funktioniert OK). Dieser Teil von utils pom
ist in Ordnung, soweit ich das beurteilen kann, also vermisst du vielleicht etwas anderes, wie
und natürlich der maven release plugin
-Abschnitt in der Build-Definition in deinem POM
?
(eine lange Schuß ich weiß)
Tatsächlich enthält der Jenkis-Arbeitsbereich alte nicht-SNAPSHOT-Versionen einiger Module. Versuchen Sie den Arbeitsbereich zu löschen (= zu säubern und zu löschen), machen Sie dann erneut eine Freigabe, er erhält die Korrekturversionen mit dem Suffix -SNAPSHOT
Ich habe den Grund gefunden: Die neueste Firma Parent POM wurde nicht abgeholt
clean
und -U
beide in der mvn
Argumentliste. Hat nicht funktioniert ~/.m2
bereinigt. Hat nicht funktioniert Was funktioniert hat, ist in Jenkins
Job config
Seite Build
, klicke auf Advanced
Use private Maven repository
Local to the workspace
. %Code%
Ich weiß, das ist eines dieser seltsamen Dinge, die Maven aus irgendeinem Grund tut. Und wie immer sind die Fehler nicht informativ / intuitiv genug.
Tags und Links maven jenkins hudson maven-release-plugin