2012-09-03 60 views
13

我最近嘗試使用maven-release-plugin,因爲它顯然是在Maven世界中構建和打包發佈的推薦方式。在Eclipse中使用maven-release-plugin

但是我想在Eclipse中使用它,因爲我的其他開發工作流程是基於Eclipse的。我通常運行通過像Eclipse朱諾的一部分提供的m2eclipse插件Maven的命令(4.2)

我注意到了一些古怪,當我試圖運行「發佈:準備」在Eclipse:

  1. 一些額外的文件是在根項目目錄 - 「pom.xml.releaseBackup」和「release.properties」中創建。他們真的屬於那裏嗎?我是否正確設置了發佈目錄?我不會將這些臨時構件視爲我的源代碼樹的一部分......
  2. pom.xml手動覆蓋更新後的版本號。 Eclipse警告你並很樂意重新加載更新的版本 - 但這通常是安全的嗎?
  3. 準備最終失敗給出了錯誤[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.0:prepare (default-cli) on project clisk: Failed to invoke Maven build. Error configuring command-line. Reason: Maven executable not found at: C:\Users\Mike\git\clisk\EMBEDDED\bin\mvn.bat -> [Help 1] - 大概是因爲我使用m2eclipse提供的內置Maven excetable而不是命令行。我想我可以安裝命令行maven ....但是這是明智的,還是隻會導致更多的問題?

鑑於這些問題,有沒有辦法讓maven-release-plugin在Eclipse中順利運行,還是應該放棄並繼續手動執行發佈?

+0

*是否繼續做手工排放*意味着繼續與Maven發佈的命令行上,或只是手包都在一起?如果是後者,我強烈建議你採用前者。發行插件非常好,並且始終最好用手工製作發行版。 –

回答

6

我一直在使用發佈插件,但只能從命令行。

Re。 1.如果在準備發行版時出現錯誤,則需要發佈插件創建的備份文件。您始終可以使用release:rollback命令回滾準備好的發行版。當你釋放:執行它們將被刪除。

Re。 2.該插件從快照版本更改版本號,例如:0.0.1-SNAPSHOT:發佈版本:0.0.1。然後在發佈之後:執行發佈版本被移動到maven存儲庫並且發佈插件再次將版本更改爲0.0.2-SNAPSHOT。現在,您可以在測試或生產環境和快照版本中使用完整發布(測試)版本以用於開發目的。

Re。 3.我不知道是什麼導致了這個問題,但是我從使用命令行釋放插件看不到問題。

+0

完全同意所有觀點(我也是命令行用戶)。 –

+1

關於第3點,我相信你必須在本地安裝Maven,然後設置Eclipse來了解它的存在。有關其他人遇到問題的示例,請參閱http://maven.40175.n5.nabble.com/Build-Failure-prepare-release-td510949.html。 –

3

您可以通過安裝命令行Maven來克服您提到的錯誤,並通過選擇Window - > Preferences - > Maven - > Installations來配置Eclipse來使用它,而不是嵌入式的錯誤,但我同意在Eclipse之外製作你的發佈。

+0

這實際上解決了我的問題! – Decoded

5

嗯,我知道這個鏈接是舊的,而是要幫助一些對誰reffers此鏈接的問題3.

分別上安裝Maven本地箱,並給下Windows的>首選項安裝的路徑 - > maven - >安裝。此外,您還必須在Eclipse中的運行配置中定義相同的內容。

附加是解釋相同的鏈接。

http://maven.40175.n5.nabble.com/Build-Failure-prepare-release-td510949.html

+0

是的,這真的有助於在Eclipse下運行,並且在運行配置中將Maven運行時從EMBEDDED更改爲EXTERNAL也很重要 –

6

而且MVN 3.3.3安裝一個MVN。cmd文件,而不是Windows中的mvn.bat文件。

您應該複製mvn.cmd到mvn.bat

+0

解決了我的問題 – Jeremy