Я разрабатываю веб-приложение на Java с плагинами Eclipse и Tomcat и Maven.
У меня есть HTTPServlet в моем проекте, и моя проблема заключается в следующем: если я использую Maven для работы с зависимостью пакета javax.servlet, компиляция идет хорошо, но когда я запускаю Tomcat через плагин Tomcat Eclipse, jar загружается с Tomcat, хотя в моем файле pom.xml его область «предоставлена»:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
Таким образом, когда я пытаюсь получить доступ к своему сервлету в браузере, я получаю исключение java.lang.ClassCastException: com.mypackage.HelloServlet не может быть приведено к javax.servlet.Servlet.
Решение, которое я нашел для своей разработки, состоит в том, чтобы предоставить библиотеки Tomcat для компиляции и удалить зависимость javax.servlet из моего pom.xml, но, конечно, компиляция завершается неудачно, когда я использую инструменты командной строки Maven.
Есть идеи, почему плагины Tomcat / Maven игнорируют «предоставленную» область моей зависимости pom.xml?