![Maven學(xué)習(xí)基礎(chǔ)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/5bdbdfdf-6437-4de8-9ae7-102ac7b12ac9/5bdbdfdf-6437-4de8-9ae7-102ac7b12ac91.gif)
![Maven學(xué)習(xí)基礎(chǔ)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/5bdbdfdf-6437-4de8-9ae7-102ac7b12ac9/5bdbdfdf-6437-4de8-9ae7-102ac7b12ac92.gif)
![Maven學(xué)習(xí)基礎(chǔ)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/5bdbdfdf-6437-4de8-9ae7-102ac7b12ac9/5bdbdfdf-6437-4de8-9ae7-102ac7b12ac93.gif)
![Maven學(xué)習(xí)基礎(chǔ)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/5bdbdfdf-6437-4de8-9ae7-102ac7b12ac9/5bdbdfdf-6437-4de8-9ae7-102ac7b12ac94.gif)
![Maven學(xué)習(xí)基礎(chǔ)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/5bdbdfdf-6437-4de8-9ae7-102ac7b12ac9/5bdbdfdf-6437-4de8-9ae7-102ac7b12ac95.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Maven使用基礎(chǔ) 一、一、Maven的基本概念的基本概念 Maven(翻譯為翻譯為專家專家,內(nèi)行內(nèi)行)是跨平臺(tái)的項(xiàng)目是跨平臺(tái)的項(xiàng)目管理工具。主要服務(wù)于基于管理工具。主要服務(wù)于基于Java平臺(tái)的項(xiàng)目構(gòu)建,依平臺(tái)的項(xiàng)目構(gòu)建,依賴管理和項(xiàng)目信息管理賴管理和項(xiàng)目信息管理。 1.1、項(xiàng)目構(gòu)建、項(xiàng)目構(gòu)建 項(xiàng)目構(gòu)建過程包括【清理項(xiàng)目】【編譯項(xiàng)目】【測試項(xiàng)目】【生成測試報(bào)告】【打包項(xiàng)目】【部署項(xiàng)目】這幾個(gè)步驟,這六個(gè)步驟就是一個(gè)項(xiàng)目的完整構(gòu)建過程。 二、二、Maven安裝安裝 1、首先要確保電腦上已經(jīng)安裝了、首先要確保電腦上已經(jīng)安裝了JDK(要要jdk 1.6+的版的版本本),配置好,配置好JDK的環(huán)境變量
2、,使用如下的兩個(gè)命令檢的環(huán)境變量,使用如下的兩個(gè)命令檢查檢查查檢查JDK安裝的情況安裝的情況。 2、對(duì)、對(duì)apache-maven-3.2.3-bin.zip進(jìn)行解進(jìn)行解壓縮壓縮 3、設(shè)置系統(tǒng)環(huán)境變量:、設(shè)置系統(tǒng)環(huán)境變量:MAVEN_HOME 4、設(shè)置環(huán)境變量、設(shè)置環(huán)境變量Path,將,將%MAVEN_HOME%bin加入加入Path中,一定要注意要用分號(hào);與其他值中,一定要注意要用分號(hào);與其他值隔開。隔開。 %MAVEN_HOME%bin代表的就是E:apache-maven-3.2.3bin目錄 5、驗(yàn)證、驗(yàn)證Maven安裝是否安裝是否成功。成功。輸入mvnv命令查看Maven的相關(guān)信息
3、1、Maven項(xiàng)目的目錄約定項(xiàng)目的目錄約定 MavenProjectRoot(項(xiàng)目根目錄)|-src|-main|-java存放項(xiàng)目的.java文件|-resources存放項(xiàng)目資源文件|-test|-java存放所有測試.java文件|-resources存放項(xiàng)目資源文件|-target項(xiàng)目輸出位置|-pom.xml-用于標(biāo)識(shí)該項(xiàng)目是一個(gè)Maven項(xiàng)目 手動(dòng)創(chuàng)建手動(dòng)創(chuàng)建Maven項(xiàng)目,使用項(xiàng)目,使用Maven編譯編譯 1、創(chuàng)建項(xiàng)目根文件夾,例如Maven01 2、在Maven01文件夾中創(chuàng)建“pom.xml”文件 pom. xml文件中的內(nèi)容如下:4.0.0cn.gacl.maven.hel
4、lohello-firstSNAPSHOT-0.0.1 首先進(jìn)入到項(xiàng)目根目錄,然后使用命令”mvn compile”進(jìn)行編譯 使用Maven編譯完成之后,在項(xiàng)目根目錄下會(huì)生成一個(gè)target文件夾 使用mvn clean命令清除編譯結(jié)果,也就是把編譯生成的target文件夾刪掉 修改從修改從Maven中心倉庫下載到本地的中心倉庫下載到本地的jar包的默認(rèn)存儲(chǔ)包的默認(rèn)存儲(chǔ)位置位置 從Maven中心倉庫下載到本地的jar包的默認(rèn)存放在”$user.home/.m2/repository”中,$user.home表示當(dāng)前登錄系統(tǒng)的用戶目錄(如C:Usersgacl) Jar包存放在這個(gè)位置不太好,我
5、們希望能夠自己定義下載下來的jar包的存放位置,因此我們可以自己設(shè)置下載到本地時(shí)的jar包的存放目錄。 找到apache-maven-3.2.3conf目錄下的settings.xml文件,編輯setting.xml文件,加上下面的代碼 E:/repository 使用Maven編譯項(xiàng)目遇到“maven編碼gbk的不可映射字符”解決辦法 解決這個(gè)問題的思路:在maven的編譯插件中聲明正確的字符集編碼編碼編譯使用的字符集編碼與代碼文件使用的字符集編碼一致! 安裝系統(tǒng)之后,一般中文系統(tǒng)默認(rèn)字符集是GBK。我們安裝的軟件一般都繼承使用操作系統(tǒng)的默認(rèn)字符集。所以當(dāng)在中文XP或者win7系統(tǒng)開發(fā),在使
6、用maven(mvncompile)編譯項(xiàng)目的時(shí)候,就會(huì)出現(xiàn)“編碼gbk的不可映射字符”:這個(gè)是由于代碼使用的UTF-8,而maven編譯的時(shí)候使用的GBK的緣故??梢酝ㄟ^修改項(xiàng)目的pom文件,可以告訴maven這個(gè)項(xiàng)目使用UTF-8編碼來編譯 UTF-8 使用使用Maven編譯、清理、測試、打包項(xiàng)目編譯、清理、測試、打包項(xiàng)目 1、使用、使用Maven編譯項(xiàng)目,編譯項(xiàng)目的命令是:編譯項(xiàng)目,編譯項(xiàng)目的命令是:mvn compile“ 2、使用、使用Maven清理項(xiàng)目,清理項(xiàng)目的命令是:清理項(xiàng)目,清理項(xiàng)目的命令是:mvn clean“ 3、使用、使用Maven測試項(xiàng)目,測試項(xiàng)目的命令是:測試項(xiàng)目,
7、測試項(xiàng)目的命令是:mvn test“ 4、使用、使用Maven打包項(xiàng)目,打包項(xiàng)目的命令是:打包項(xiàng)目,打包項(xiàng)目的命令是:mvn package“ 5、使用、使用Maven部署項(xiàng)目,部署項(xiàng)目的命令是:部署項(xiàng)目,部署項(xiàng)目的命令是:mvn install 使用mvninstall命令,就把maven構(gòu)建項(xiàng)目的【清理】【編譯】【測試】【打包】的這幾個(gè)過程都做了,同時(shí)將打包好的jar包發(fā)布到本地的Maven倉庫中,所以maven最常用的命令還是mvninstall,這個(gè)命令能夠做的事情最多。 maven的編譯,清理,測試,打包,部署命令是可以幾個(gè)命令同時(shí)組合起來使用的,常用的命令組合如下:1、先清理再編譯
8、:mvncleancompile“,還有的就是mvncleantest,mvncleanpackage,mvncleaninstall,這些組合命令都比較常用。 在別的項(xiàng)目中使用通過在別的項(xiàng)目中使用通過Maven安裝生成的項(xiàng)目的安裝生成的項(xiàng)目的jar包包 在上面,我們使用mvninstall命令將hello這個(gè)項(xiàng)目打包成了Hello-0.0.1-SNAPSHOT.jar包并且發(fā)布到本地的maven倉庫E:repositorymegaclmavenHello0.0.1-SNAPSHOT中,下面我們來看看如何在別的項(xiàng)目中使用Hello-0.0.1-SNAPSHOT.jar 1、新建HelloFri
9、end項(xiàng)目,同時(shí)建立Maven約定的目錄結(jié)構(gòu)和pom.xml 2、編輯項(xiàng)目HelloFriend根目錄下的pom.xml,添加如下的代碼:ml文件4.0.0me.gacl.mavenHelloFriend0.0.1-SNAPSHOTHelloFriendjunitjunit4.9testme.gacl.mavenHello0.0.1-SNAPSHOTcompile maven作為一個(gè)高度自動(dòng)化構(gòu)建工具,本身提供了構(gòu)建項(xiàng)目的功能,下面就來體驗(yàn)一下使用maven構(gòu)建項(xiàng)目的過程。 一、構(gòu)建一、構(gòu)建Jave項(xiàng)目項(xiàng)目 1、使用mvnarchetype:generate命令:mvn archetype:g
10、enerate-DgroupId=com.mycompany.app-DartifactId=myapp-DarchetypeArtifactId=maven-archetype-quickstart-DinteractiveMode=false mavenGeneratingprojectinBatchmode問題的解決有這樣一個(gè)命令:mvnarchetype:generate-DgroupId=com.mycompany.app-DartifactId=my-app-DarchetypeArtifactId=maven-archetype-quickstart-DinteractiveMo
11、de=false這句話的命令是創(chuàng)建一個(gè)默認(rèn)的項(xiàng)目,但我在執(zhí)行這個(gè)命令時(shí),命令行會(huì)停在INFOGeneratingprojectinBatchmode增加一個(gè)-X參數(shù),可以查看詳細(xì)信息mvnarchetype:generate-DgroupId=com.mycompany.app-DartifactId=my-app-DarchetypeArtifactId=maven-archetype-quickstart-DinteractiveMode=falseX可以看到,程序停在了下面這一行。DEBUGSearchingforremotecatalog:/m
12、aven2/archetype-catalog.xml去查詢這個(gè)文件的時(shí)候網(wǎng)絡(luò)比較差或者其他原因,導(dǎo)致掛在那里。 解決方法 1.把上述地址復(fù)制到瀏覽器中,下載這個(gè)文件到本地。 2.把文件archetype-catalog.xml復(fù)制到目錄.m2repositoryorgapachemavenarchetypearchetype-catalog2.2下面。 3.在上述命令后增加參數(shù)-DarchetypeCatalog=local,變成讀取本地文件即可??梢钥吹?,Maven幫我們創(chuàng)建的項(xiàng)目是一個(gè)標(biāo)準(zhǔn)的Maven項(xiàng)目,不過目前Maven只是幫我們生成了src/main/java(存放項(xiàng)目的源代碼)和
13、src/test/java(存放測試源代碼)這兩個(gè)目錄,但實(shí)際項(xiàng)目開發(fā)中我們一般都會(huì)有配置文件,例如perties,所以我們還需要手動(dòng)創(chuàng)建src/main/resources(存放項(xiàng)目開發(fā)中用到的配置文件,如存放perties等)和src/test/resources(存放測試時(shí)用到的配置文件) 1.2、JavaProject的的pom.xml文件說明文件說明 pom.xml文件的節(jié)點(diǎn)元素說明: pom文件的頂級(jí)節(jié)點(diǎn)objectmodel版本,對(duì)Maven2和Maven3來說,只能是4.0.0項(xiàng)目創(chuàng)建組織的標(biāo)識(shí)符,一般是域名的倒寫定義了項(xiàng)目在所屬組織的標(biāo)識(shí)符
14、下的唯一標(biāo)識(shí),一個(gè)組織下可以有多個(gè)項(xiàng)目當(dāng)前項(xiàng)目的版本,SNAPSHOT,表示是快照版本,在開發(fā)中 打包的方式,有jar、war、ear等項(xiàng)目的名稱項(xiàng)目的地址 屬性配置,比如:構(gòu)建項(xiàng)目依賴的jar 其中由由groupId、artifactId和和version唯一的確定了一個(gè)項(xiàng)目坐標(biāo)唯一的確定了一個(gè)項(xiàng)目坐標(biāo) 二、構(gòu)建二、構(gòu)建JavaWeb項(xiàng)目項(xiàng)目 1、使用mvn archetype:create命令,如下所示: mvn archetype:create-DgroupId=com.mycompany.app-DartifactId=myWebApp-DarchetypeArtifactId=mav
15、en-archetype-webapp-DinteractiveMode=false 創(chuàng)建好的JavaWeb項(xiàng)目中目前只有src/main/resources目錄,因此還需要手動(dòng)添加src/main/java、src/test/java、src/test/resources 2.2、使用、使用Maven打包發(fā)布打包發(fā)布Web項(xiàng)目項(xiàng)目 在命令行切換到myWebApp目錄,執(zhí)行:mvn package,構(gòu)建成功后,myWebApp目錄目錄下多了一個(gè)target目錄,在這個(gè)目錄下會(huì)打包成myWebApp目錄.war,把這個(gè)war包拷貝到Tomcat的發(fā)布目錄下就可以運(yùn)行了. 除了使用Tomcat服務(wù)
16、器運(yùn)行Web項(xiàng)目之外,我們還可以在Web項(xiàng)目中集成Jetty發(fā)布運(yùn)行,首先在pom.xml文件中配置Jetty插件打開命令行窗口,切換到myWebApp目錄,然后執(zhí)行:mvn jetty:run啟動(dòng)Jetty服務(wù)器,如下圖所示:4.0.0com.mycompany.appmyWebAppwar1.0-SNAPSHOTmyWebAppMavenWebappjunitjunit3.8.1testmyWebApporg.mortbay.jettymaven-jetty-plugin 三、三、Maven創(chuàng)建項(xiàng)目的命令說明創(chuàng)建項(xiàng)目的命令說明 mvnarchet
17、ype:create或者mvnarchetype:generate固定寫法 -DgroupId組織標(biāo)識(shí)(包名) -DartifactId項(xiàng)目名稱 -DarchetypeArtifactId指定ArchetypeId,maven-archetype-quickstart,創(chuàng)建一個(gè)JavaProject;maven-archetype-webapp,創(chuàng)建一個(gè)WebProject -DinteractiveMode是否使用交互模式 archetype是mvn內(nèi)置的一個(gè)插件,create任務(wù)可以創(chuàng)建一個(gè)java項(xiàng)目骨架,DgroupId是軟件包的名稱,DartifactId是項(xiàng)目名,Darchetyp
18、eArtifactId是可用的mvn項(xiàng)目骨架.每一個(gè)骨架都會(huì)建相應(yīng)的目錄結(jié)構(gòu)和一些通用文件,最常用的是maven-archetype-quickstart和maven-archetype-webapp骨架。maven-archetype-quickstart骨架是用來創(chuàng)建一個(gè)JavaProject,而maven-archetype-webapp骨架則是用來創(chuàng)建一個(gè)JavaWebProject。 依賴依賴管理管理junitjunit4.9testme.gacl.mavenHello0.0.1-SNAPSHOTcompile2.2、依賴范圍依賴范圍scope用來控制依賴和編譯,測試,運(yùn)行的classpath的關(guān)系.主要的是三種依賴關(guān)系如下:pile:默認(rèn)編譯依賴范圍。對(duì)于編譯,測試,運(yùn)行三種classpath都有效2.test:測試依賴范圍。只對(duì)于測試classpath有效3.provided:已提供依賴范圍。對(duì)于編譯,測試的classpat
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 大學(xué)生創(chuàng)業(yè)培訓(xùn)項(xiàng)目匯報(bào)表
- 2024幼兒中班父親節(jié)活動(dòng)方案
- 法律行業(yè)的展望
- 湖北省武漢市東西湖區(qū)2024-2025學(xué)年七年級(jí)上學(xué)期期末語文試題(解析版)
- 考研自習(xí)室申請書
- 護(hù)校隊(duì)申請書范文
- 初級(jí)銀行管理-銀行專業(yè)初級(jí)《銀行管理》押題密卷9
- 白瓷餐具項(xiàng)目風(fēng)險(xiǎn)評(píng)估報(bào)告
- 初級(jí)公司信貸-初級(jí)銀行從業(yè)資格考試《公司信貸》高分通關(guān)卷1
- 醫(yī)學(xué)院??荚囶}庫 基礎(chǔ)知識(shí)
- 安全生產(chǎn)技術(shù)規(guī)范 第25部分:城鎮(zhèn)天然氣經(jīng)營企業(yè)DB50-T 867.25-2021
- 現(xiàn)代企業(yè)管理 (全套完整課件)
- 走進(jìn)本土項(xiàng)目化設(shè)計(jì)-讀《PBL項(xiàng)目化學(xué)習(xí)設(shè)計(jì)》有感
- 《網(wǎng)店運(yùn)營與管理》整本書電子教案全套教學(xué)教案
- 教師信息技術(shù)能力提升培訓(xùn)課件希沃的課件
- 高端公寓住宅項(xiàng)目營銷策劃方案(項(xiàng)目定位 發(fā)展建議)
- 執(zhí)業(yè)獸醫(yī)師聘用協(xié)議(合同)書
- 第1本書出體旅程journeys out of the body精教版2003版
- [英語考試]同等學(xué)力英語新大綱全部詞匯
- 2022年肝動(dòng)脈化療栓塞術(shù)(TACE)
- 形式發(fā)票格式2 INVOICE
評(píng)論
0/150
提交評(píng)論