Maven環(huán)境安裝配置和新建項(xiàng)目介紹
1 Maven是什么?
Apache Maven 是一種用作軟件項(xiàng)目管理和理解工具。它基于項(xiàng)目對(duì)象模型(POM)的概念, 可以管理一個(gè)項(xiàng)目的構(gòu)建、報(bào)告以及從項(xiàng)目核心信息中生成文檔。
Maven是一種項(xiàng)目管理和理解工具。Maven向開發(fā)者提供了一個(gè)完整的構(gòu)建生命周期框架。開發(fā)團(tuán)隊(duì)幾乎不用花時(shí)間就可以使用自動(dòng)化構(gòu)建項(xiàng)目的基礎(chǔ)框架,因?yàn)?Maven 使用了一套標(biāo)準(zhǔn)的目錄結(jié)構(gòu)和默認(rèn)的構(gòu)建生命周期。
在存在多個(gè)開發(fā)團(tuán)隊(duì)的場(chǎng)景中,Maven可以在很短的時(shí)間內(nèi)按標(biāo)準(zhǔn)建立起工作方式。因?yàn)榇蠖鄶?shù)的項(xiàng)目配置簡單并且可重用,Maven簡化了開發(fā)者在創(chuàng)建報(bào)告,檢查,構(gòu)建和測(cè)試自動(dòng)化配置中的工作。
Maven提供給開發(fā)者管理如下過程的方法:
項(xiàng)目構(gòu)建(Builds)
文檔(Documentation)
報(bào)告(Reporting)
項(xiàng)目依賴(Dependencies)
軟件配置管理(SCMs)
發(fā)布(Releases)
分發(fā)(Distribution)
郵件列表(mailing list)
總的來說,Maven簡化和統(tǒng)一了項(xiàng)目構(gòu)建的過程。它無縫地處理項(xiàng)目編譯,分發(fā),文檔,團(tuán)隊(duì)合作和其他任務(wù),增加了任務(wù)處理的重用性,并可以處理大多數(shù)構(gòu)建相關(guān)的任務(wù)。
maven在項(xiàng)目創(chuàng)建的時(shí)候,會(huì)使用默認(rèn)的項(xiàng)目結(jié)構(gòu),開發(fā)者只需要按照對(duì)應(yīng)地放置文件,而不需要在pom.xml文件中做任何配置。
下面是maven為創(chuàng)建的項(xiàng)目生成的文件結(jié)構(gòu)。
2,環(huán)境搭建
2.1 安裝JDK
maven是基于java的項(xiàng)目管理工具,因此在安裝maven之前首先需要查看maven是否已經(jīng)安裝了JDK。
在windows環(huán)境下:
在命令行下,運(yùn)行java -version,如果輸出如下結(jié)果,代表jdk已經(jīng)安裝
否則需要下載JDK并安裝。
2.2 下載并安裝maven
下載地址:
http://maven.apache.org/download.html
將下載的文件解壓到你想要安裝的目錄。例如:
D:\apache-maven-3.5.0-bin
2.3 配置環(huán)境變量
配置MAVEN_HOME環(huán)境變量,其值為剛剛解壓的目錄:
D:\apache-maven-3.5.0-bin\apache-maven-3.5.0
在path變量中添加一項(xiàng):
%MAVEN_HOME%\bin
2.4 驗(yàn)證maven是否已經(jīng)安裝
在命令行輸入命令
mvn -version
如果出現(xiàn)如下結(jié)果,則說明安裝配置成功。
上述操作完成就可以使用maven了。
2.5 maven的本地倉庫的配置
maven倉庫有三種類型:
本地倉庫(local)
中央倉庫(central)
遠(yuǎn)程倉庫(remote)
Maven本地倉庫是你電腦上的某個(gè)目錄地址,Maven本地倉庫保存著你項(xiàng)目所有的依賴(庫的、插件的jar包等等)。當(dāng)你運(yùn)行Maven構(gòu)建時(shí),Maven會(huì)自動(dòng)下載所有依賴的jar包到本地倉庫中。這會(huì)幫助避免每次項(xiàng)目構(gòu)建時(shí)項(xiàng)目的依賴參考都存儲(chǔ)在遠(yuǎn)程的主機(jī)上。
在apache-maven-3.5.0\conf路徑下有一個(gè)setting.xml文件,打開這個(gè)文件,里面有一個(gè)localRepository標(biāo)簽,將其值設(shè)置為你的本地倉庫的路徑即可。
上面已經(jīng)配置好了maven的環(huán)境,但是如果想要在IDE中使用,IDE還需要做相關(guān)的配置,本文只講解在eclipse中的配置。
3 eclipse中的maven插件配置
3.1 下載安裝maven插件
在新的eclipse版本中,一般已經(jīng)默認(rèn)安裝了maven插件,如果你的IDE還沒有安裝maven插件,那么需要在插件市場(chǎng)上下載m2e插件。
3.2 配置環(huán)境
在window–preference–Maven–User Settings下,配置好maven中settings.xml的文件路徑。
在window–preference–Maven–Installations下,配置maven的安裝路徑。
這樣maven的環(huán)境就搭建好了。
下面就可以使用maven插件來創(chuàng)建maven項(xiàng)目了。
4 創(chuàng)建maven項(xiàng)目
在file–new–other下,選擇maven project。
本文只演示如何創(chuàng)建web項(xiàng)目,其他類型的項(xiàng)目也一樣,maven插件提供了各種項(xiàng)目類型創(chuàng)建的模板。
上面的操作中出現(xiàn)了幾個(gè)概念:
groupId(項(xiàng)目組織)、artifactId(項(xiàng)目命名)、version(版本號(hào)),這樣我們才能唯一確定一個(gè)項(xiàng)目。
具體含義如下:
這樣就生成了一個(gè)web項(xiàng)目。
5 maven web項(xiàng)目的結(jié)構(gòu)
下面以筆者之前已經(jīng)創(chuàng)建好的maven web項(xiàng)目為例,簡單說明一下maven項(xiàng)目的結(jié)構(gòu)。
- (1)src/main/java:放置java源文件的目錄
- (2)src/main/resources:資源文件,例如屬性文件等
- (3)同時(shí),webapp目錄下放置的是lib文件目錄(這個(gè)是筆者自己創(chuàng)建的,主要用來放置自己導(dǎo)入的jar包,而不是通過maven的pom文件導(dǎo)入的依賴)和web.xml。
注:這個(gè)web.xml文件可能最剛開始可能maven沒有幫你生成,出現(xiàn)如下的錯(cuò)誤提示:
Description Resource Path Location Type web.xml is missing and <failOnMissingWebXml> is set to true pom.xml /maven line 6 Maven Java EE Configuration Problem
但是可以自己手動(dòng)生成,解決xml沒有生成的辦法
- (4)src/test/java:測(cè)試代碼存放目錄
- (5)target目錄下的classes路徑存放的是編譯后的class文件,對(duì)應(yīng)的是上面的src/main/java,test-classes目錄下存放的是測(cè)試的類文件。
- (6)項(xiàng)目根目錄下的pom.xml文件是maven工程中最重要的一個(gè)文件。
POM意為項(xiàng)目對(duì)象模型(Project Object Model),是Maven中基本單元。它是一個(gè)名為pom.xml的XML文件,總是存在于項(xiàng)目的更目錄下。
POM包含了項(xiàng)目相關(guān)的信息和Maven用來構(gòu)建一個(gè)或多個(gè)項(xiàng)目的各種配置詳情。
POM也包含了各種目標(biāo)操作(goal)和插件。當(dāng)執(zhí)行一個(gè)任務(wù)或者目標(biāo)操作時(shí),Maven會(huì)查找當(dāng)前目錄下的POM。Maven讀取POM,從中獲得需要的配置信息,然后執(zhí)行目標(biāo)操作。部分Maven可以從POM中明確的配置列出如下:
項(xiàng)目依賴(project dependencies)
插件(plugins)
目標(biāo)操作(goals)
構(gòu)建(build profiles)
項(xiàng)目版本(project version)
開發(fā)者(developers)
郵件列表(mailing list)
對(duì)于初學(xué)者,我們最關(guān)心的就是項(xiàng)目依賴問題,在pom文件下的dependency標(biāo)簽,就是定義一個(gè)依賴項(xiàng)的。如果我們需要引入某個(gè)依賴項(xiàng),可以在http://mvnrepository.com/中查找你要找的jar包,然后,就可以找到下面這樣的內(nèi)容,把紅線中的內(nèi)容直接復(fù)制到pom文件下的標(biāo)簽下一級(jí)。
這樣maven插件會(huì)自己下載相應(yīng)的jar包,并存放在你的本地倉庫中,如果該jar包已經(jīng)在本地倉庫中有,那么下次如果你用的是同樣的jar包,就會(huì)直接飲用本地倉庫中的jar包。
對(duì)于上面的maven生成的文件目錄結(jié)構(gòu),可以自己作相應(yīng)的配置修改。
這里可以自己定義部署的路徑。對(duì)于不需要部署的文件目錄也可以移除相應(yīng)的文件。
總結(jié):
本文主要講了maven的安裝配置,eclipse的相關(guān)配置,還有pom文件的定義,maven的目錄結(jié)構(gòu),如何創(chuàng)建maven項(xiàng)目,maven項(xiàng)目部署等問題。
感興趣的讀者,還可以參考以下網(wǎng)址:
1、Maven教程
到此這篇關(guān)于Maven環(huán)境安裝配置和新建項(xiàng)目介紹的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Maven2環(huán)境安裝與準(zhǔn)備工作詳解
- maven安裝與環(huán)境配置圖文教程
- WIN10環(huán)境 Maven的安裝與配置詳細(xì)教程
- 淺談Maven安裝及環(huán)境配置出錯(cuò)的解決辦法
- Java(JDK/Tomcat/Maven)運(yùn)行環(huán)境配置及工具(idea/eclipse)安裝詳細(xì)教程
- Maven學(xué)習(xí)----Maven安裝與環(huán)境變量配置教程
- 關(guān)于maven環(huán)境的安裝及maven集成idea環(huán)境的問題
- Windows安裝Maven并配置環(huán)境的詳細(xì)步驟
- Windows安裝Maven并配置環(huán)境變量
- Maven的安裝和環(huán)境變量配置過程
- Maven3.9.9環(huán)境安裝配置的實(shí)現(xiàn)步驟
相關(guān)文章
SpringBoot自定義MessageConverter與內(nèi)容協(xié)商管理器contentNegotiationManag
這篇文章主要介紹了SpringBoot自定義MessageConverter與內(nèi)容協(xié)商管理器contentNegotiationManager的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-10-10使用Springboot 打jar包實(shí)現(xiàn)分離依賴lib和配置
這篇文章主要介紹了使用Springboot 打jar包實(shí)現(xiàn)分離依賴lib和配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02java對(duì)接webservice接口的4種方式總結(jié)
因工作需要和一個(gè)Sap相關(guān)系統(tǒng)以WebService的方式進(jìn)行接口聯(lián)調(diào),之前僅聽過這種技術(shù),但并沒有實(shí)操過,所以將本次開發(fā)進(jìn)行記錄,這篇文章主要給大家介紹了關(guān)于java對(duì)接webservice接口的4種方式,需要的朋友可以參考下2023-10-10java實(shí)現(xiàn)ThreadLocal線程局部變量的實(shí)現(xiàn)
本文主要介紹了java實(shí)現(xiàn)ThreadLocal線程局部變量的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07Jenkins集成sonarQube實(shí)現(xiàn)代碼質(zhì)量檢查過程圖解
這篇文章主要介紹了Jenkins集成sonarQube實(shí)現(xiàn)代碼質(zhì)量檢查過程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09java json字符串轉(zhuǎn)JSONObject和JSONArray以及取值的實(shí)例
這篇文章主要介紹了java json字符串轉(zhuǎn)JSONObject和JSONArray以及取值的實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-05-05