中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中maven是什么

發布時間:2021-08-20 10:04:13 來源:億速云 閱讀:422 作者:小新 欄目:編程語言

這篇文章主要介紹了java中maven是什么,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

Maven定義

            Maven 是一個項目管理工具,它包含了一個項目對象模型 (Project Object Model), 一組標準集合, 一個項目生命周期(Project Lifecycle),一個依賴管理系統(Dependency Management System),和用來運行定義在生命周期階段(phase)中插件(plugin)目標(goal)的邏輯。 當你使用 Maven 的時候,你用一個明確定義的項目對象模型來描述你的項目,然后 Maven 可以應用橫切的邏輯,這些邏輯來自一組共享的(或者自定義的)插件。Maven是基于項目對象模型(POM),可以通過一小段描述信息來管理項目的構建、報告和文檔的軟件項目管理工具。

             在沒有自定義的情況下,源代碼假定是在 ${basedir}/src/main/java,資源文件假定是在${basedir}/src/main/resources 。測試代碼假定是在 ${basedir}/src/test 。項目假定會產生一個 JAR 文件。 Maven 假定你想要把編譯好的字節碼放到${basedir}/target/classes 并且在 ${basedir}/target 創建一個可分發的 JAR文件。 雖然這看起來無關緊要,但是想想大部分基于 Ant 的構建必須為每個子項目定義這些目錄。 Maven 對約定優于配置的應用不僅僅是簡單的目錄位置, Maven 的核心插件使用了一組通用的約定,以用來編譯源代碼,打包可分發的構件,生成 web 站點,還有許多其他的過程。
Maven插件的全局性重用

         Maven 的核心,解析一些 XML 文檔,管理生命周期與插件。 Maven 被設計成將主要的職責委派給一組 Maven 插件,這些插件可以影響 Maven 生命周期,提供對目標的訪問。絕大多數 Maven 的動作發生于 Maven 插件的目標,如編譯源碼,打包二進制代碼,發布站點和其它構建任務。從 Apache 下載的 Maven 不知道如何打包 WAR 文件,也不知道如何運行單元測試, Maven 大部分的智能是由插件實現的,而插件從 Maven 倉庫獲得。第一次你用全新的 Maven 安裝運行諸如 mvn install 命令的時候,它會從中央 Maven 倉庫下載大部分核心 Maven 插件。這不僅僅是一個最小化 Maven分發包大小的技巧,這種方式更能讓你升級插件以給你項目的構建提高能力。 Maven從遠程倉庫獲取依賴和插件的這一事實允許了構建邏輯的全局性重用。

依賴管理

          由于項目是根據一個包含組標識符,構件標識符和版本的唯一的坐標定義的。項目間可以使用這些坐標來聲明依賴
遠程倉庫

          和項目依賴相關的,我們可以使用定義在項目對象模型( POM)中的坐標來創建 Maven 構件的倉庫。

Ant 和 Maven 的區別

Apache Ant

        Ant 沒有正式的約定如一個一般項目的目錄結構, 你必須明確的告訴 Ant哪里去找源代碼,哪里放置輸出。隨著時間的推移,非正式的約定出現了,但是它們還沒有在產品中模式化。

         Ant 是程序化的,你必須明確的告訴 Ant 做什么,什么時候做。你必須告訴它去編譯,然后復制,然后壓縮。

         Ant 沒有生命周期,你必須定義目標和目標之間的依賴。你必須手工為每個目標附上一個任務序列。

Apache Maven

         Maven 擁有約定,因為你遵循了約定,它已經知道你的源代碼在哪里。它把字節碼放到 target/classes ,然后在 target 生成一個 JAR文件。

       Maven 是聲明式的。你需要做的只是創建一個 pom.xml 文件然后將源代碼放到默認的目錄。 Maven 會幫你處理其它的事情。

        Maven 有一個生命周期,當你運行 mvn install 的時候被調用。這條命令告訴 Maven 執行一系列的有序的步驟,直到到達你指定的生命周期。遍歷生命周期旅途中的一個影響就是, Maven 運行了許多默認的插件目標,這些目標完成了像編譯和創建一個 JAR 文件這樣的工作。

Maven 以插件的形式為一些一般的項目任務提供了內置的智能。如果你想要編寫運行單元測試,你需要做的只是編寫測試然后放到 ${basedir}/src/test/java ,添加一個對于 TestNG 或者 JUnit 的測試范圍依賴,然后運行 mvn test 。如果你想要部署一個 web 應用而非 JAR ,你需要做的是改變你的項目類型為 war ,然后把你文檔根目錄置為 ${basedir}/src/main/webapp 。當然,你可以用 Ant 做這些事情,但是你將需要從零開始寫這些指令。使用 Ant ,你首先需要確定 JUnit JAR 文件應該放在哪里,然后你需要創建一個包含這個 JUnit JAR 文件的 classpath ,然后告訴 Ant 它應該從哪里去找測試源代碼,編寫一個目標來編譯測試源代碼為字節碼,使用 JUnit 來執行單元測試

簡單使用語句

          mvn   -v    查看版本
                    compile  編譯
                    test   測試
                    package   打包
                    clean   清楚target
                    install  安裝jar包到本地倉庫中

自動創建目錄骨架

archetype插件用于創建符合maven規定的目錄骨架創建目錄有兩種方式

      方式一:archetype:generate 按照提示進行選擇
      方式二:archetype:generate -DgroupId=組織名,公司網址的反寫+項目名
                                                           -DartifactId=項目名-模塊名
                                   -Dversion=版本號
                                   -Dpackage=代碼所存在的包名

其他知識點 

     坐標
           構件
      倉庫   分為本地倉庫和遠程倉庫
      鏡像倉庫  
      clean 清理項目
      pre-clean 執行清理前的工作
      clean清理上一次構建生成的所有文件
      post-clean執行清理后的文件
      site生成項目站點
             pre-site 在生成項目站點前要完成的工作
     site 生成項目的站點文檔
     post-site在生成項目站點后要完成的工作
     site-deploy發布生成的站點到服務器
      依賴范圍
      依賴沖突
      依賴傳遞
      聚合和繼承,其他知識點以后在詳細介紹。。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“java中maven是什么”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

镇巴县| 太和县| 额尔古纳市| 宁陕县| 东平县| 寿宁县| 松原市| 乌拉特前旗| 来宾市| 翁源县| 余庆县| 嵊州市| 土默特右旗| 阿荣旗| 乌鲁木齐县| 哈巴河县| 吉木乃县| 潼关县| 大冶市| 天津市| 宿州市| 龙江县| 双江| 玉林市| 仪陇县| 龙州县| 集贤县| 济源市| 龙岩市| 罗源县| 竹北市| 咸丰县| 邯郸市| 阿荣旗| 洱源县| 永康市| 道真| 蓬安县| 望奎县| 六枝特区| 宜兴市|