2011-05-11 94 views
1

我不知道我是否在這裏做錯了什麼,或者是否有maven-release-plugin中的錯誤。但是當我嘗試發佈版本1.2.1時,maven使用正確的版本創建了一個標籤,但是在標籤的pom.xml中設置的版本號被設置爲1.2(而不是1.2.1)。maven版本:準備無法發佈帶有補丁版本的pom.xml

這是我做的,當我試着把1.2的錯誤:

  1. SVN CP網址/標籤/ MYAPP-1.2 URL /分支機構/ MYAPP-1.2
  2. 在URL編輯project.version /branches/myapp-1.2/pom.xml是1.2.1-快照(爲1.2)
  3. 修復錯誤源
  4. 提交更改
  5. MVN釋放:準備
  6. #當問,使用defa ULTS:發佈1.2.1版,下一版本的開發1.2.2-SNAPSHOT
  7. [INFO] BUILD SUCCESSFUL

OK,到目前爲止,但如果我在新標籤檢查出的代碼版本是錯誤的! URL/tags/myapp-1.2.1/pom.xml具有版本1.2,而不是1.2.1,因爲標籤名稱應該建議。如果我只是運行mvn release:現在執行,新上傳的jar將其名稱設置爲myapp-1.2.jar,覆蓋存儲庫中的原始文件。

我將maven-release-plugin版本從2.0升級到2.1,但沒有取得更大的成功。我知道,導致此錯誤的事情就是插件執行此過程的一部分:

svn --non-interactive copy --file /tmp/maven-scm-2371633.commit --revision 19866 URL/tags/myapp-1.2 URL/tags/myapp-1.2.1 

此副本從標籤/ MYAPP-1.2標籤/ MYAPP-1.2.1的源,但這並不包含任何更改。你是否同意它應該從分支機構/ myapp-1.2複製而不是標籤?

這是否適用於其他人,並且您是否看到我是否做錯了什麼?

+1

您是否更改了您在分支中使用的那些pom中的SCM區域?導致標籤中的pom重寫了SCM區域中的scm信息,其中包含有關標籤等的完整合格信息,而不是您期望的信息。此外,我會建議使用像1.2.0這樣的三位數字版本號,並且在修復錯誤的情況下,您可以將其更改爲1.2.1等。 – khmarbaise 2011-05-11 12:36:56

+0

您應該深入瞭解maven-release插件,因爲它支持分支你正在手動(http://maven.apache.org/plugins/maven-release-plugin/examples/branch.html)。 – khmarbaise 2011-05-11 12:38:55

+0

謝謝,khmarbaise。我想知道我是否可能在這裏遺漏了一些關鍵信息。 myapp實際上是一個根項目的子模塊。如在/ trunk/myapp /中。這是否重要? – oligofren 2011-05-13 08:26:45

回答

0

您需要驗證您的pom中的存儲庫鏈接是否指向分支而不是中繼。

如果是這樣,那麼你會得到錯誤。改爲將它指向後備箱。