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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Maven学习笔记(二)

發布時間:2025/3/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Maven学习笔记(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是Maven坐標? 對應于平面中的點和城市中的地址,Maven的世界中擁有數量非常巨大的構件,也就是大家平時用的一些jar、war等文件。在Maven為這些構件引入坐標概念之前,我們無法使用任何一種方式來唯一標識所有這些構件,因此,當需要用到Spring Framework依賴的時候,大家會去Spring Framework網站尋找,當需要用到log4j依賴的時候,大家又會去Apache網站尋找。又因為各個項目的網站風格迥異,大量的時間花費在了搜索、瀏覽網頁等工作上面。沒有統一的規范、統一的法則,該工作就無法自動化。重復地搜索、瀏覽網頁和下載類似的jar文件,這本就應該交給機器來做。而機器工作必須基于預定義的規則,Maven定義了這樣一組規則:世界上任何一個構件都可以使用Maven坐標唯一標識,Maven坐標的元素包括groupId、artifactId、version、packaging、classifier。現在,只要我們提供正確的坐標元素,Maven就能找到對應的構件,比如說,當需要使用Java5 平臺上TestNG的 5.8 版本時,就告訴Maven:"groupId=org.testng; artifactId=testng; version=5.8;classifier=jdk15",Maven就會從倉庫中尋找相應的構件供我們使用。也許你會奇怪,"Maven是從哪里下載構件的呢?"答案其實很簡單,Maven內置了一個中央倉庫的地址(http://repo1.maven.org/maven2),該中央倉庫包含了世界上大部分流行的開源項目構件,Maven會在需要的時候去那里下載。在我們開發自己項目的時候,也需要為其定義適當的坐標,這是 Maven 強制要求的,在這個基礎上,其他 Maven 項目才能引用該項目生成的構件 根元素 project 下的 dependencies 可以包含一個或者多個 dependency 元素,以聲明一個或者多個項目依賴。每個依賴可以包含的元素有: ? groupId、artifactId 和 version:依賴的基本坐標,對于任何一個依賴來說,基本坐標 是最重要的,Maven 根據坐標才能找到需要的依賴。 ? type:依賴的類型,對應于項目坐標定義的 packaging。大部分情況下,該元素不必聲 明,其默認值為 jar。 ? scope:依賴的范圍。 ? optional:標記依賴是否可選。 ? exclusions:用來排除傳遞性依賴。 大部分依賴聲明只包含基本坐標,然而在一些特殊情況下,其它元素至關重要

生命周期 Maven定義了三套生命周期:clean、default、site,每個生命周期都包含了一些階段(phase)。三套生命周期相互獨立,但各個生命 周期中的phase卻是有順序的,且后面的phase依賴于前面的phase。執行某個phase時,其前面的phase會依順序執行,但不會觸發另外兩 套生命周期中的任何phase。
  • clean,做些清理的工作
  • default,最核心的周期,做初始化和構建的工作,里面分的階段很多,主要是compllie,test, package, install等
  • site,生成站點的周期,包括生成文檔和發布等
Maven的生命周期是抽象的,實際需要插件來完成任務,這一過程是通過將插件的目標(goal)綁定到生命周期的具體階段(phase)來完成的。這里就像設計模式中的模板模式,父類定義好了方法模板并規定對了執行順序,而子類定義了每個模板方法具體要做的事情。這里的父類相當于maven,而子類就像是一個個的插件。 比如compile這個階段,對應的是mvn complie這個命令,但是實際上是maven-compiler-plugin這個插件在起作用每個插件在執行的時候會有多個任務,每個任務被稱作這個插件的一個目標(goal),這個目標都是可以對應上maven生命周期中某個階段(phase)的,這里重新看下上述mvn install命令(其中有個插件就是叫做maven-install-plugin)的執行結果 倉庫 Maven 本地存儲庫是一個在本地計算機上的一個文件夾位置。當你第一次運行 maven 命令的時候它就被創建了。 Maven 的本地資源庫讓您的項目可依賴這些項目(插件庫 jar 文件,jar文件等)。當運行 Maven 構建,那么 Maven 會自動下載所有依賴的jar到本地存儲庫中。它有助于避免依賴存儲在遠程機器上的項目建立參考。 Maven 本地存儲庫,默認情況下創建在 %USER_HOME% 目錄。要覆蓋默認位置,可在?Maven 的 settings.xml 文件中修改 %M2_HOME%conf 目錄指向另一個路徑。 Maven中央存儲庫是由Maven社區提供的資源庫。它包含了大量的常用程序庫。 maven常用基本命令: <code class="hljs groovy">mvn archetype:create 創建Maven項目 mvn compile 編譯源代碼 mvn deploy 發布項目 mvn test-compile 編譯測試源代碼 mvn test?運行應用程序中的單元測試 mvn site 生成項目相關信息的網站 mvn clean 清除項目目錄中的生成結果 mvn <span class="hljs-keyword">package 根據項目生成的jar mvn install?在本地Repository中安裝jar mvn <span class="hljs-string">eclipse:eclipse 生成eclipse項目文件 <span class="hljs-string">mvnjetty:run 啟動jetty服務 <span class="hljs-string">mvntomcat:run 啟動tomcat服務 mvn clean <span class="hljs-keyword">package -Dmaven.test.skip=<span class="hljs-string">true:清除以前的包后重新打包,跳過測試類</span></span></span></span></span></span></code>

總結

以上是生活随笔為你收集整理的Maven学习笔记(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

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