2012-06-27 1 views
0

Я создал свой проект maven, используя плагин m2e в индивидууме eclipse и преобразовал его в динамический веб-проект затмения, используя mvn eclipse:eclipse -Dwtpversion=1.5. Мне удалось запустить проект в tomcat7, за исключением моих сервлетов, для которых я не могу создать сопоставления сервлетов.Экземпляры сервлетов Eclipse Maven Web Project

Я пробовал модифицировать файл 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 аннотаций также не отображать сервлет:

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

Спасибо заранее, и сообщить, если вам нужно больше кода.

PS: Имейте в виду, что сервлет работал отлично в режиме Динамический Web-проект, без Maven

ответ

0

Есть несколько вопросов.

  1. Вы должны прекратить использовать затмение: затмение. Вместо этого установите WTP integration for M2E с сайта Eclipse Marketplace
  2. В проекте Maven ваша DrawInitialMap должна находиться в папке/src/main/classes. Таким образом, он будет скомпилирован согласно стандартным проектам проекта Maven
  3. Элемент элемента servlet в файле web.xml требует полного имени класса, то есть нет таких вещей, как (groupId). (ArtifactId) .src.main.resources.
+0

Да, проблема была в том, что вы сказали по вопросу №3. Спасибо :) –