maven是個項目管理工具,集各類功能於一身,下面介紹maven web項目在eclipse種的配置,並於tomcat集成。配置成功後,能夠跟通常的web項目同樣調試。java
1、準備條件web
一、安裝下載jdktomcat
這裏以jdk1.6爲例服務器
二、安裝eclipseapp
到eclipse官網下載 Eclipse IDE for Java EE Developers版本的eclipseeclipse
http://www.eclipse.org/webapp
三、安裝tomcat6jsp
四、安裝mavenmaven
五、安裝eclipse maven插件工具
這裏以在線安裝的方式,安裝地址爲:http://m2eclipse.sonatype.org/sites/m2e
2、配置
一、在eclipse中配置jdk安裝位置,tomcat安裝位置,maven安裝位置,爲tomcat指定jdk
在此不詳述
二、在eclipse中新建一個maven項目
2-一、新建一個maven項目,選擇create a simple project ...
2-二、
點擊Next,進入下一個
在此窗口下填寫group id,artifact id,能夠隨便寫一個,在Packaging中選擇war類型
點擊下一步,在如下步驟中一直next,直到最後點擊finish
2-三、
右擊項目,選擇properites,打開如下對話框
在此界面右邊導航欄選中 Project Facets,點擊超連接Convert Faceted from,進入如下界面
2-四、
在Configuration中選擇custom
在下方的Project Facet的Dynamic Web Module中選擇2.5版本
在java中選擇1.6
注意:這些選擇可能根據tomcat版本變化而變化,就tomcat6來講選擇以上選項是能夠的
此步驟很是重要,只有操做了此步驟,右側導航欄纔會有Deployment Assembly 連接
2-5
接下來點擊右邊面板的Runtime面板
能夠看到下方中有tomcat,若是沒有,則點擊下面的new,新建一個,新建後選中複選框,而後apply,ok
2-六、
在項目屬性面板中的做部導航欄選擇Deployment Assembly選項,在右邊Web Deployment Assembly
若是看到如下的圖示,那麼配置就完成了
這裏解釋一下以上文件夾
src/main/java
該文件夾是存放java源碼的,發佈項目時會將該文件夾下的class文件複製到WEB-INF/classes目錄下
src/main/resources
該文件夾通常放置配置文件,如xml,properties文件等,其實也能夠放置java文件,只是一種約定罷了,發佈項目時
該文件夾的文件也會複製到WEB-INF/class中
至於test,有些相似,只不過這些是測試代碼,用過maven的應該會知道這一點
src/main/webapp
maven中約定是把該文件夾當成是普通web項目中的WebRoot目錄,看看右邊的deploy path,發佈項目時
是發佈到根目錄/了。該文件夾在建成的maven web項目中,在其內尚沒有WEB-INF/classes,WEB-INF/lib文件夾
須要手工創建
注意:有時候因爲某種緣由,你打開的以上視圖多是下面這樣的,
其實,這樣也是能夠運行項目,調試項目的,可是,若是你運行該項目的pom.xml文件時就會報錯,爲何呢,
由於maven會把src/main/webapp文件當成是普通web項目中的WebRoot,而該你的配置裏面(上圖)卻
沒有配置,故而會報錯。
怎麼辦呢,分2步
一、選中 WebContent,remove掉它
二、新建一個,Source文件夾爲src/main/webapp,deploy path爲 /
點擊apply,ok便可。
最後還必須將maven庫映射到WEB-INF/lib下,具體操做以下,點擊add按鈕,進入下圖
選擇java build path entries,點擊next,進入下圖
選擇Maven Dependencies,點擊finish,最終以下圖
若是不把Maven Dependencies映射到WEB-INF/lib,則在服務端如servlet中用到maven中的庫時,則會提示找不到類(雖然你在編寫代碼時沒有紅xx,可是運行程序時卻會找不到類)
3、運行
在eclipse的server視圖中添加你的項目,右鍵選擇的tomcat服務器,選擇add and remove,添加剛纔新建的web工程,效果以下圖
在src/main/java中創建一個servlet,在src/main/webapp中創建一個jsp
啓動tomcat,訪問你的servlet和jsp,在servlet中你能夠定斷點,能夠調試。