日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

maven 父maven_Maven的鸟瞰图

發布時間:2023/12/3 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 maven 父maven_Maven的鸟瞰图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

maven 父maven

我們每天要做的一件事是使用Maven通過發出諸如mvn install之類的構建命令來構建我們的項目。 然后,Maven查看我們項目的配置文件(親切地稱為POM),神奇地找出要執行的操作,并且,嘿,您的構建已完成。 我想我們經常這樣做,以至于我們從來沒有考慮過幕后發生的事情,在某些情況下甚至從未了解過發生了什么。 該博客簡要介紹了Maven構建生命周期,并揭示了在您發出諸如mvn clean install之類的命令時會發生什么。

如果您曾經閱讀過Maven文檔,那么您將了解到Maven都是關于面向對象的分層構建結構。 在本文中,有三個主要偽像:構建生命周期,構建階段和目標,因此,一個很好的起點是解釋這些術語之間的關系。 看下面的UML圖:

直接進入,您會看到Maven HAS 1具有一個或多個構建生命周期,每個生命周期具有一個或多個構建階段,它們以給定的順序執行。 同樣,每個構建階段都有一個或多個構建目標,這些目標也將以給定的順序執行。

定義構建階段的一個好方法是舉一個例子。 Maven文檔列出了所謂的默認生命周期,以下是其構建階段:

  • 驗證 –驗證項目是否正確并且所有必要信息均可用
  • 編譯 –編譯項目的源代碼
  • 測試 –使用合適的單元測試框架測試已編譯的源代碼。 這些測試不應要求將代碼打包或部署
  • 打包 –接受編譯后的代碼,并將其打包為可分發的格式,例如JAR。
  • 集成測試 –處理并在必要時將程序包部署到可以運行集成測試的環境中
  • 驗證 –運行任何檢查以驗證包裝是否有效并符合質量標準
  • install –將軟件包安裝到本地存儲庫中,以作為本地其他項目中的依賴項
  • 部署 –在集成或發布環境中完成,將最終程序包復制到遠程存儲庫,以便與其他開發人員和項目共享。
  • 因此,我們可以將構建階段定義為照顧構建生命周期的一部分的階段,例如編譯或測試項目。

    您可以通過在命令行上指定生成階段來告訴Maven生成項目。 例如:

    mvn install

    …表示“在默認的構建生命周期中執行直到安裝階段的所有構建階段,包括安裝階段”。
    …發行了一張

    mvn clean install

    …表示“將清潔生命周期的所有構建階段進行到(包括) 清潔構建階段,然后在默認構建生命周期中執行直到安裝階段的所有構建階段,包括安裝階段”。

    由此可以推斷出

    mvn test

    …命令將執行驗證構建階段,并執行其目標; 然后是編譯階段,執行其目標,最后是測試階段,執行其目標。

    那么,目標是什么? 在Maven世界中,目標可以定義為單個任務或工作,實際上可以對構建項目起到實際作用。 如果我們將Maven與您可能所在的公司進行比較,則生命周期將是董事會,構建階段是中層管理人員以及完成工作的工人的目標。

    大多數構建階段都附帶有默認目標,例如,您可能已經猜到, 編譯器構建階段綁定到了compile:compile目標,同樣, 安裝構建階段也綁定到install:install目標。

    您還可以使用POM文件中的<plugin>元素將您自己的目標綁定到階段,這可以用于覆蓋目標的默認行為或添加新目標和新行為。

    關于目標 s最后要注意的一點是,它們通常與POM的包裝類型相關聯。 例如,這是有道理的,例如:editor:compile目標與jar和ejb打包相關聯,但就POM , war或ear包而言,這毫無意義。

    閱讀本文時,您可能已經了解到,按照慣例,目標名稱包含冒號,而構建階段的名稱則不包含。 這使您可以在Maven命令行上指定目標,而不會將它們與構建階段混淆。 例如:

    mvn compiler:compile

    …將執行compile:compile目標,該目標處于默認構建生命周期的編譯器構建階段。 而且,一點點混在一起…

    mvn install tomcat:redeploy

    …將在默認的構建生命周期中執行直到安裝 (包括安裝 )的所有構建階段,然后執行Tomcat Mojo中的tomcat:redeploy目標。

    那就是一英里高的鳥瞰Maven。

    1 在字的UML感。

    參考: Captain Debug's Blog博客中JCG合作伙伴 Roger Hughes 的Maven鳥瞰圖 。


    翻譯自: https://www.javacodegeeks.com/2012/06/birdss-eye-view-of-maven.html

    maven 父maven

    總結

    以上是生活随笔為你收集整理的maven 父maven_Maven的鸟瞰图的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。