Maven學習基礎_第1頁
Maven學習基礎_第2頁
Maven學習基礎_第3頁
Maven學習基礎_第4頁
Maven學習基礎_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Maven使用基礎 一、一、Maven的基本概念的基本概念 Maven(翻譯為翻譯為專家專家,內行內行)是跨平臺的項目是跨平臺的項目管理工具。主要服務于基于管理工具。主要服務于基于Java平臺的項目構建,依平臺的項目構建,依賴管理和項目信息管理賴管理和項目信息管理。 1.1、項目構建、項目構建 項目構建過程包括【清理項目】【編譯項目】【測試項目】【生成測試報告】【打包項目】【部署項目】這幾個步驟,這六個步驟就是一個項目的完整構建過程。 二、二、Maven安裝安裝 1、首先要確保電腦上已經(jīng)安裝了、首先要確保電腦上已經(jīng)安裝了JDK(要要jdk 1.6+的版的版本本),配置好,配置好JDK的環(huán)境變量

2、,使用如下的兩個命令檢的環(huán)境變量,使用如下的兩個命令檢查檢查查檢查JDK安裝的情況安裝的情況。 2、對、對apache-maven-3.2.3-bin.zip進行解進行解壓縮壓縮 3、設置系統(tǒng)環(huán)境變量:、設置系統(tǒng)環(huán)境變量:MAVEN_HOME 4、設置環(huán)境變量、設置環(huán)境變量Path,將,將%MAVEN_HOME%bin加入加入Path中,一定要注意要用分號;與其他值中,一定要注意要用分號;與其他值隔開。隔開。 %MAVEN_HOME%bin代表的就是E:apache-maven-3.2.3bin目錄 5、驗證、驗證Maven安裝是否安裝是否成功。成功。輸入mvnv命令查看Maven的相關信息

3、1、Maven項目的目錄約定項目的目錄約定 MavenProjectRoot(項目根目錄)|-src|-main|-java存放項目的.java文件|-resources存放項目資源文件|-test|-java存放所有測試.java文件|-resources存放項目資源文件|-target項目輸出位置|-pom.xml-用于標識該項目是一個Maven項目 手動創(chuàng)建手動創(chuàng)建Maven項目,使用項目,使用Maven編譯編譯 1、創(chuàng)建項目根文件夾,例如Maven01 2、在Maven01文件夾中創(chuàng)建“pom.xml”文件 pom. xml文件中的內容如下:4.0.0cn.gacl.maven.hel

4、lohello-firstSNAPSHOT-0.0.1 首先進入到項目根目錄,然后使用命令”mvn compile”進行編譯 使用Maven編譯完成之后,在項目根目錄下會生成一個target文件夾 使用mvn clean命令清除編譯結果,也就是把編譯生成的target文件夾刪掉 修改從修改從Maven中心倉庫下載到本地的中心倉庫下載到本地的jar包的默認存儲包的默認存儲位置位置 從Maven中心倉庫下載到本地的jar包的默認存放在”$user.home/.m2/repository”中,$user.home表示當前登錄系統(tǒng)的用戶目錄(如C:Usersgacl) Jar包存放在這個位置不太好,我

5、們希望能夠自己定義下載下來的jar包的存放位置,因此我們可以自己設置下載到本地時的jar包的存放目錄。 找到apache-maven-3.2.3conf目錄下的settings.xml文件,編輯setting.xml文件,加上下面的代碼 E:/repository 使用Maven編譯項目遇到“maven編碼gbk的不可映射字符”解決辦法 解決這個問題的思路:在maven的編譯插件中聲明正確的字符集編碼編碼編譯使用的字符集編碼與代碼文件使用的字符集編碼一致! 安裝系統(tǒng)之后,一般中文系統(tǒng)默認字符集是GBK。我們安裝的軟件一般都繼承使用操作系統(tǒng)的默認字符集。所以當在中文XP或者win7系統(tǒng)開發(fā),在使

6、用maven(mvncompile)編譯項目的時候,就會出現(xiàn)“編碼gbk的不可映射字符”:這個是由于代碼使用的UTF-8,而maven編譯的時候使用的GBK的緣故??梢酝ㄟ^修改項目的pom文件,可以告訴maven這個項目使用UTF-8編碼來編譯 UTF-8 使用使用Maven編譯、清理、測試、打包項目編譯、清理、測試、打包項目 1、使用、使用Maven編譯項目,編譯項目的命令是:編譯項目,編譯項目的命令是:mvn compile“ 2、使用、使用Maven清理項目,清理項目的命令是:清理項目,清理項目的命令是:mvn clean“ 3、使用、使用Maven測試項目,測試項目的命令是:測試項目,

7、測試項目的命令是:mvn test“ 4、使用、使用Maven打包項目,打包項目的命令是:打包項目,打包項目的命令是:mvn package“ 5、使用、使用Maven部署項目,部署項目的命令是:部署項目,部署項目的命令是:mvn install 使用mvninstall命令,就把maven構建項目的【清理】【編譯】【測試】【打包】的這幾個過程都做了,同時將打包好的jar包發(fā)布到本地的Maven倉庫中,所以maven最常用的命令還是mvninstall,這個命令能夠做的事情最多。 maven的編譯,清理,測試,打包,部署命令是可以幾個命令同時組合起來使用的,常用的命令組合如下:1、先清理再編譯

8、:mvncleancompile“,還有的就是mvncleantest,mvncleanpackage,mvncleaninstall,這些組合命令都比較常用。 在別的項目中使用通過在別的項目中使用通過Maven安裝生成的項目的安裝生成的項目的jar包包 在上面,我們使用mvninstall命令將hello這個項目打包成了Hello-0.0.1-SNAPSHOT.jar包并且發(fā)布到本地的maven倉庫E:repositorymegaclmavenHello0.0.1-SNAPSHOT中,下面我們來看看如何在別的項目中使用Hello-0.0.1-SNAPSHOT.jar 1、新建HelloFri

9、end項目,同時建立Maven約定的目錄結構和pom.xml 2、編輯項目HelloFriend根目錄下的pom.xml,添加如下的代碼:ml文件4.0.0me.gacl.mavenHelloFriend0.0.1-SNAPSHOTHelloFriendjunitjunit4.9testme.gacl.mavenHello0.0.1-SNAPSHOTcompile maven作為一個高度自動化構建工具,本身提供了構建項目的功能,下面就來體驗一下使用maven構建項目的過程。 一、構建一、構建Jave項目項目 1、使用mvnarchetype:generate命令:mvn archetype:g

10、enerate-DgroupId=com.mycompany.app-DartifactId=myapp-DarchetypeArtifactId=maven-archetype-quickstart-DinteractiveMode=false mavenGeneratingprojectinBatchmode問題的解決有這樣一個命令:mvnarchetype:generate-DgroupId=com.mycompany.app-DartifactId=my-app-DarchetypeArtifactId=maven-archetype-quickstart-DinteractiveMo

11、de=false這句話的命令是創(chuàng)建一個默認的項目,但我在執(zhí)行這個命令時,命令行會停在INFOGeneratingprojectinBatchmode增加一個-X參數(shù),可以查看詳細信息mvnarchetype:generate-DgroupId=com.mycompany.app-DartifactId=my-app-DarchetypeArtifactId=maven-archetype-quickstart-DinteractiveMode=falseX可以看到,程序停在了下面這一行。DEBUGSearchingforremotecatalog:/m

12、aven2/archetype-catalog.xml去查詢這個文件的時候網(wǎng)絡比較差或者其他原因,導致掛在那里。 解決方法 1.把上述地址復制到瀏覽器中,下載這個文件到本地。 2.把文件archetype-catalog.xml復制到目錄.m2repositoryorgapachemavenarchetypearchetype-catalog2.2下面。 3.在上述命令后增加參數(shù)-DarchetypeCatalog=local,變成讀取本地文件即可??梢钥吹剑琈aven幫我們創(chuàng)建的項目是一個標準的Maven項目,不過目前Maven只是幫我們生成了src/main/java(存放項目的源代碼)和

13、src/test/java(存放測試源代碼)這兩個目錄,但實際項目開發(fā)中我們一般都會有配置文件,例如perties,所以我們還需要手動創(chuàng)建src/main/resources(存放項目開發(fā)中用到的配置文件,如存放perties等)和src/test/resources(存放測試時用到的配置文件) 1.2、JavaProject的的pom.xml文件說明文件說明 pom.xml文件的節(jié)點元素說明: pom文件的頂級節(jié)點objectmodel版本,對Maven2和Maven3來說,只能是4.0.0項目創(chuàng)建組織的標識符,一般是域名的倒寫定義了項目在所屬組織的標識符

14、下的唯一標識,一個組織下可以有多個項目當前項目的版本,SNAPSHOT,表示是快照版本,在開發(fā)中 打包的方式,有jar、war、ear等項目的名稱項目的地址 屬性配置,比如:構建項目依賴的jar 其中由由groupId、artifactId和和version唯一的確定了一個項目坐標唯一的確定了一個項目坐標 二、構建二、構建JavaWeb項目項目 1、使用mvn archetype:create命令,如下所示: mvn archetype:create-DgroupId=com.mycompany.app-DartifactId=myWebApp-DarchetypeArtifactId=mav

15、en-archetype-webapp-DinteractiveMode=false 創(chuàng)建好的JavaWeb項目中目前只有src/main/resources目錄,因此還需要手動添加src/main/java、src/test/java、src/test/resources 2.2、使用、使用Maven打包發(fā)布打包發(fā)布Web項目項目 在命令行切換到myWebApp目錄,執(zhí)行:mvn package,構建成功后,myWebApp目錄目錄下多了一個target目錄,在這個目錄下會打包成myWebApp目錄.war,把這個war包拷貝到Tomcat的發(fā)布目錄下就可以運行了. 除了使用Tomcat服務

16、器運行Web項目之外,我們還可以在Web項目中集成Jetty發(fā)布運行,首先在pom.xml文件中配置Jetty插件打開命令行窗口,切換到myWebApp目錄,然后執(zhí)行:mvn jetty:run啟動Jetty服務器,如下圖所示:4.0.0com.mycompany.appmyWebAppwar1.0-SNAPSHOTmyWebAppMavenWebappjunitjunit3.8.1testmyWebApporg.mortbay.jettymaven-jetty-plugin 三、三、Maven創(chuàng)建項目的命令說明創(chuàng)建項目的命令說明 mvnarchet

17、ype:create或者mvnarchetype:generate固定寫法 -DgroupId組織標識(包名) -DartifactId項目名稱 -DarchetypeArtifactId指定ArchetypeId,maven-archetype-quickstart,創(chuàng)建一個JavaProject;maven-archetype-webapp,創(chuàng)建一個WebProject -DinteractiveMode是否使用交互模式 archetype是mvn內置的一個插件,create任務可以創(chuàng)建一個java項目骨架,DgroupId是軟件包的名稱,DartifactId是項目名,Darchetyp

18、eArtifactId是可用的mvn項目骨架.每一個骨架都會建相應的目錄結構和一些通用文件,最常用的是maven-archetype-quickstart和maven-archetype-webapp骨架。maven-archetype-quickstart骨架是用來創(chuàng)建一個JavaProject,而maven-archetype-webapp骨架則是用來創(chuàng)建一個JavaWebProject。 依賴依賴管理管理junitjunit4.9testme.gacl.mavenHello0.0.1-SNAPSHOTcompile2.2、依賴范圍依賴范圍scope用來控制依賴和編譯,測試,運行的classpath的關系.主要的是三種依賴關系如下:pile:默認編譯依賴范圍。對于編譯,測試,運行三種classpath都有效2.test:測試依賴范圍。只對于測試classpath有效3.provided:已提供依賴范圍。對于編譯,測試的classpat

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論