最近沒事了玩一下maven,使用maven管理工程中的依賴包很是的方便。創建maven web工程的時候開始不知道怎麼用tomcat來調試,老是使用mave的tomcat插件發佈了後來調試,以爲很是的麻煩,網上找了點材料,看看maven web工程不須要發佈出來就直接用tomcat調試。下面對研究成果作一個記錄,備忘。php
Eclipse中創建maven工程,首先保證eclipse已經安裝了m2eclipse插件。EclipseJEE 4.3.2版本已經集成了該插件,無需再安裝。這個版本的eclipse下載地址爲:http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/kepler/SR2/eclipse-jee-kepler-SR2-win32.ziphtml
1、創建一個maven WEB項目java
一、file->new->other
web
二、 進入項目類型選擇對話框,以下圖。咱們選擇Maven->Maven Project。而後點擊next按鈕。瀏覽器
三、進入工做空間選擇對話框;以下圖。Location->browse選擇一個文件夾做爲你的項目工做空間,也就是新建項目的磁盤存儲位置。而後點擊next按鈕,進入下一步。tomcat
四、進入maven項目類型選擇對話框,以下圖。
app
咱們選擇Artifact Id爲maven-arrchetype-webapp。這種類型的就是maven的web項目了。點擊next進入下一步。eclipse
五、進入項目屬性設置對話框,以下圖。填寫Group Id和Artifact Id。其中Artifact Id將做爲項目名稱顯示。點擊finish完成項目新建過程。webapp
六、獲得一個以下目錄結構的maven WEB工程項目。jsp
七、新建maven WEB項目的web.xml裏面是沒有指定歡迎頁面的,須要手動加一下。加後的配置以下。
[html] view plaincopy
<EMBED id=ZeroClipboardMovie_1 height=18 name=ZeroClipboardMovie_1 type=application/x-shockwave-flash align=middle pluginspage=http://www.macromedia.com/go/getflashplayer width=18 src=http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf wmode="transparent" flashvars="id=1&width=18&height=18" allowfullscreen="false" allowscriptaccess="always" bgcolor="#ffffff" quality="best" menu="false" loop="false">
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
2、eclipse中配置調試服務容器
一、打開servers視圖。Window -> Show View -> Other
二、進入視圖選擇對話框,以下圖。選擇Server->Servers 點擊OK肯定。
三、servers視圖就被加載到控制檯的位置,以下圖
四、在servers視圖,鼠標右單擊,出現以下圖新建server浮動標籤。點擊Server。
五、進入容器選擇及配置對話框,以下圖。咱們選擇Apache->Tomcate v6.0 Server,點擊next按鈕。
六、進入項目添加、移除對話框,以下圖。顯示在這裏的項目都是WEB項目,若是在新建maven項目的時候沒有選擇爲webapp項目,在該對話框中就不會出現以下圖的mavenWeb可選項目。
七、選中須要添加到容器中的web項目,點擊Add,添加到server中。點擊finish完成服務配置。
八、完成server配置後,會在servers視圖出現一個剛剛新加的server,以下圖。
九、這時候server配置基本完了,可是若是這時候選擇服務啓動,服務啓動不成功。
警告:[SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property'source' to 'org.eclipse.jst.j2ee.server:mavenWeb' did not find a matchingproperty.
十、雙擊剛剛新加的那個服務
十一、進入服務配置界面,以下圖。選中:Publish module contexts to separate XML files,在中止服務的狀況下保存配置。不中止服務,沒法保存修改的。從新啓動服務,便不會出現上面的警告了。
十二、在瀏覽器裏面輸入地址:http://localhost:8080/mavenWeb 即可看到首頁裏面的內容了。自此,eclipse中maven web項目tomcat調試環境配置已經完成。
3、原理說明
其實在eclipse中配置server的時候,eclipse會把web項目自動發佈到工做空間的:
.metadata\.plugins\org.eclipse.wst.server.core\
的這個目錄中,具體你的項目被髮布到這個目錄的哪一個位置要看你配置的server個數了。假如你的eclipse中只配置了一個server,那麼你的項目就被髮布到:
.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
你會看到,在這個目錄下有你的項目被髮布到這裏來了。在eclipse中運行server的時候,其實執行的代碼就是這個地方的。