2012-06-27 91 views
0

我已經在eclipse indigo中使用m2e插件設置了我的maven項目,並使用mvn eclipse:eclipse -Dwtpversion=1.5將其轉換爲eclipse動態web項目。我設法在tomcat7中啓動和運行項目,除了我的servlet,我無法創建servlet映射。Eclipse Maven Web Project Servlet映射

我已經嘗試修改web.xml文件,但它會引發ClassNotFoundException。目錄結構和web.xml:

(ROOT) 
    +src 
     +main 
      +resources 
       +DrawInitialMap.java 
      +webapp 
       (WebContent here) 


<web-app> 
    <servlet> 
     <servlet-name>DrawInitialMap</servlet-name> 
     <servlet-class>(groupId).(artifactId).src.main.resources.DrawInitialMap</servlet-class> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>DrawInitialMap</servlet-name> 
     <url-pattern>/drawInitialMap.do</url-pattern> 
    </servlet-mapping> 
    (...) 
</web-app> 

雖然@WebServlet標註也沒有映射的servlet:

@WebServlet(name="drawInitialMap", description="visualizes ttrp on html5 canvas", urlPatterns={"/drawInitialMap.do"}) 

謝謝你在前進,如果你需要更多的代碼的通知。

PS:請記住,在servlet的動態Web項目模式完美地工作,沒有Maven的

回答

0

有幾個問題。

  1. 你應該停止使用eclipse:eclipse。相反,從Eclipse Marketplace安裝WTP integration for M2E
  2. 在Maven項目中,您的DrawInitialMap應位於/ src/main/classes文件夾中。因此,它將按照默認的Maven項目慣例進行編譯
  3. web.xml中的servlet-class元素需要完整的類名,即沒有像(groupId)。(artifactId).src.main.resources之類的東西。
+0

是的,問題就像你在項目#3上說的那樣。謝謝 :) –