簡體   English   中英

Maven清理,更新,安裝和Eclipse清理,刷新,構建 - 一般的正確訂單?

[英]Maven Clean, Update, Install and Eclipse Clean, Refresh, Build — a generally correct order?

我有一些相互依賴的Eclipse項目。 當我嘗試構建我的工作區時,我遇到了多個問題。 據說,如果我做Maven清理,更新,安裝和Project清理,刷新,構建所有問題(我在Eclipse中通過Run和Project菜單相應地完成所有工作),問題就應該出現了。

但是,我很困惑應該是執行這些操作的最佳順序? 此外,任何人都能簡單地解釋一下他們每個人做了什么,這樣當我可以跳過一些時,我可以更好地理解和理解嗎?

更具體地說:我被告知運行Maven Clean和Maven Install就足夠了。 雖然Maven Install以'Build Success'結尾,但我仍然在Problems選項卡上有錯誤,並且在嘗試在特定項目中運行某些類時,會出現一個令人討厭的錯誤“無法找到或加載主類導出”。 我嘗試運行Project Clean幾次,然后再運行Project Build幾次,錯誤可能會也可能不會。 我被建議介紹Maven更新 - >所有項目並選擇所有項目>刷新(F5)步驟,但我不確定何時執行它們(在清理或安裝或構建之后)。

如何執行這些操作有“一般正確”的順序嗎? 因此,如果我執行它並且一些錯誤仍然存​​在,那么我的版本中的某些內容是否有問題,而不僅僅是依賴關系? 我從RTC(軟件開發團隊協作工具)中提取項目,我的同事沒有這些問題。 但是,我最近剛拿到它。

首先,你必須明白maven和eclipse是兩回事。 是的,m2e插件(現在捆綁在eclipse中)可以很好地配置基於maven項目的eclipse項目。 但是,有時eclipse會搞砸(幾乎總是因為刷新問題)。

其次,您可能需要了解Maven構建生命周期基礎知識

有三個內置的構建生命周期:默認,清理和站點。 默認生命周期處理項目部署,清潔生命周期處理項目清理,而站點生命周期處理項目站點文檔的創建。

所以,基本上:

  • clean是clean生命周期的一個階段,刪除目標目錄
  • 安裝是默認生命周期的一個階段,做了很多事情,因為觸發了所有以前的階段(生成源,編譯,運行測試等),最終將您的包放在目標目錄中並將工件放在本地存儲庫中。

第三,關於日食。 如果已選中“ 項目 - >自動構建 ”選項,則無需運行Build。 當eclipse搞砸了,我發現執行m2e命令“ Maven - > Update project ”然后刷新,就足夠了。 此命令將重新生成.settings文件夾中的某些文件。 在極少數情況下,我必須自己刪除.settings文件夾中的所有文件,然后運行“更新項目”命令。

結論: mvn clean install應該可以完成這項工作,如果不是eclipse - >刷新 ,如果還沒有工作eclipse - > Maven - > Update Project

我還建議使用最新版本的eclipse和m2e插件。

特別是在我的情況下,以下一系列行動起作用:

  • 項目 - >取消選中自動構建
  • [接受傳入更改]如果適用
  • 項目 - >清潔
  • 運行 - >運行方式 - > Maven清理
  • 運行 - >運行方式 - > Maven安裝
  • 項目 - >自動檢查構建
  • 如果出現“問題”選項卡上的錯
    • 選擇所有項目,刷新F5
    • 如果還是錯誤:
      • 在Problems選項卡上手動刪除錯誤(可能是Eclipse沒有更新依賴項等)
      • 選擇所有項目,刷新F5

devonfw.com的最佳實踐是分離和解耦命令行maven和eclipse構建。 這救了我的命。 神奇的技巧很簡單,可以在這里找到: https//github.com/devonfw/devon4j/blob/develop/pom.xml#L544

BTW:devonfw有很多值得學習的好模式。 這只是百萬分之一。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM