基於Maven的web項目在Eclipse中使用Tomcat調試

之前開發用過jetty來調試maven項目,不過那時也有點渾渾噩噩的,就是使用而已,業餘時間都奉獻給了遊戲。最近在鼓搗maven,就記錄一下最近搭建Eclipse中使用Tomcat調試maven項目的過程,之後忘記或者中間有什麼問題時能夠查到。html

廢話很少說,下面開始搭建:web

 

1. 安裝Maven(配置Maven環境變量+Eclipse中的Maven插件)瀏覽器

這步就很少說了,網上一搜一大把,要說明的只有一點,第一次配好Maven插件,必定要更新一次遠程庫的索引,這樣添加依賴的時候就不會出現搜不到那個jar包的狀況了(固然要先啓用遠程庫的index,否則也搜不到jar包的)tomcat

 

2. 新建Maven項目、配置服務器

新建了Maven項目後,屬性->Project Facets->"convert to faceted form...",在隨後出現的Project Facet中勾選以下2項,注意選擇後面的version:app

選擇好了,肯定,在次打開 項目->屬性,能夠看到多了一個Deployment Assembly選項,打開能夠看到這裏配置的是文件夾和發佈文件夾的對應關係eclipse

因爲maven打包時默認從src/main/webapp目錄下面取web.xml文件,咱們還要手動在下面創建一個這樣的文件。ssh

 

3. 配置調試的服務器(Apathc Tomcat)webapp

以下圖所示,Eclipse中新建一個Tomcat容器:
maven

3. 運行Maven項目

通過上面的配置,是否是就能夠運行咱們的maven項目了呢??固然能夠。

 

選擇了上圖所示的「Run on Server」後能夠運行咱們的Maven項目了。

 

4. 剩餘問題

(1)、 咱們瀏覽器輸入「http://localhost:8080/ssh2/index.html」返回404??

不要急,能夠到工做空間的目錄.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps下面看到有個咱們的maven項目名稱的文件夾,這是咱們調試時自動發佈的目錄,能夠看到下面並無咱們添加的頁面,神馬狀況??

這是咱們沒有配置src/main/webapp的發佈目錄,因此調試時也沒有把下面的html等內容發佈

解決:

項目 —> 屬性 -> Deployment Assembly -> Add -> folder -> 選擇src/main/webapp

這一步就是配置webapp目錄要發佈到項目的根目錄下,咱們再看到.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\ssh2目錄下面有自動發佈的html文件

刷新瀏覽器頁面,OK頁面出來了!!!

 

(2)、是否是這樣就OK了??答案是否認的。

咱們在pom.xml中添加了那些依賴的jar後,一旦在代碼中應用。當咱們本地調試時,會報ClassNotFound錯誤,這是爲何??

由於Tomcat不懂這些配置,你必須把Maven Dependencies中的jar與發佈目錄配置好:

項目 —> 屬性 -> Deployment Assembly -> Add -> Java Build Path Entries -> 選擇Maven Dependencies -> Finish -> OK

這一步就是配置Maven依賴包發佈目錄,這樣調試時會自動把那些jar發佈到指定目錄下,tomcat也能找到那些jar了。

相關文章
相關標籤/搜索