一晰搀、在eclipse中配置maven
其實有的eclipse中也自帶maven五辽,但因為它的版本固定的太死了,很可能其他人的項目到你的電腦中就跑不了了外恕,所以能自定義我們的maven會更好杆逗。
首先進(jìn)入Perferences,找到maven-->Installations鳞疲,然后add我們自己下載的maven
add后記得打上勾罪郊。
當(dāng)本地倉庫jar包好多的時候,為了提高檢索的速度尚洽,我們還要構(gòu)建索引悔橄。
我們進(jìn)入Perferences---->show view--->other,找到maven
可以看到有本地倉庫第一次打開里面啥也沒有腺毫,我們要進(jìn)行一些設(shè)置癣疟。我們在本地倉庫上右擊rebuild Index
刷新之后我們就能看到本地倉庫的jar包已經(jīng)導(dǎo)進(jìn)來了
二、eclipse創(chuàng)建一個maven類型的web項目
點擊new一個maven project潮酒,記得把下面這玩意勾上
然后要填寫一些信息
選擇jar就是普通的java項目睛挚,選擇war就是web 項目,這里我們選擇war
之后點擊finish就可以完成急黎,但我們會發(fā)現(xiàn)完成后會報錯
它的意思就是說我們?nèi)鄙僖粋€web.xml扎狱,我們在src目錄下的main目錄下面的webapp目錄下新建一個WEB-INF,然后找個web.xml弄進(jìn)去叁熔,錯誤就會消失委乌。
之后你又會發(fā)現(xiàn)庫的版本不對
靠,這還不會荣回,不就是build path嘛遭贸,build一下的確行,然后如果你update project會發(fā)現(xiàn)特么的又變回去了心软,所以最好的辦法就是去改一下pom.xml
<!-- 添加項目jdk編譯插件 -->
<build>
<plugins>
<!-- 根據(jù)自己jdk的版本進(jìn)行設(shè)置 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
改完之后壕吹,再update project也不怕了著蛙。
三、maven整合servlet
接著我們在上面的項目中新建一個servlet看看耳贬,記得是在java resources的src/main/java這個目錄下踏堡,新建servlet之后,你會發(fā)現(xiàn)又給報錯了咒劲,找不到相應(yīng)的jar包顷蟆。
這時我們得添加依賴,在pom.xml頁面腐魂,右鍵點擊maven-->Add Dependency帐偎,輸入servlet,就能看到本地倉庫中的jar包蛔屹,選擇即可
那肯定有小伙伴要說了削樊,如果我本地倉庫沒有相應(yīng)的jar包怎么辦?
這時我們可以去maven的中央倉庫找啊http://mvnrepository.com/兔毒,進(jìn)去之后漫贞,我們搜索一個比如servlet,選擇版本之后育叁,就會有一個maven的依賴迅脐,如下圖
我們把這些代碼復(fù)制到我們項目的pom.xml中,它就會去本地倉庫找豪嗽,如果沒有找到仪际,就會去中央倉庫下載,因為我們之前配置了阿里云的鏡像昵骤,所以它會去阿里云下載树碱,速度杠杠的。
四变秦、Maven依賴范圍
像上面導(dǎo)入了servlet的jar包之后成榜,其實還有一個問題,那就是maven依賴范圍的問題蹦玫。每個jar導(dǎo)入時默認(rèn)的scope是compile赎婚,關(guān)于maven的依賴范圍,如下圖
如果servlet的jar包不改變它的scope樱溉,那么默認(rèn)為compile挣输,在運(yùn)行時也會存在,就會和tomcat中的servlet api發(fā)生沖突福贞,從而引起報錯撩嚼,關(guān)鍵還特么不好找。所以記住要把servlet包括jsp的jar包范圍改成provided。
五完丽、運(yùn)行該web項目
我們在該項目名稱上右擊
選擇maven build....恋技,輸入下圖的命令,點擊run即可逻族。
一些常用命令如下