Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven tomcat7 Maven插件不能与@WebServlet一起使用_Maven_Servlet 3.0_Tomcat7 Maven Plugin - Fatal编程技术网

Maven tomcat7 Maven插件不能与@WebServlet一起使用

Maven tomcat7 Maven插件不能与@WebServlet一起使用,maven,servlet-3.0,tomcat7-maven-plugin,Maven,Servlet 3.0,Tomcat7 Maven Plugin,我使用@webevlet在servlet3.0中创建了一个Servlet,如下所示: @WebServlet(urlPatterns = {"/demo2"}, loadOnStartup = 1) public class Demo2Servlet extends HttpServlet { @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws S

我使用
@webevlet
在servlet3.0中创建了一个
Servlet
,如下所示:

@WebServlet(urlPatterns = {"/demo2"}, loadOnStartup = 1)
public class Demo2Servlet extends HttpServlet {
    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.getWriter().println("[Demo2Servlet][work]");
    }
}
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
    <scope>provided</scope>
</dependency>

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <port>8080</port>
        <path>/web30</path>
    </configuration>
</plugin>
我在maven中添加plugin
tomcat7 maven plugin
,如下所示:

@WebServlet(urlPatterns = {"/demo2"}, loadOnStartup = 1)
public class Demo2Servlet extends HttpServlet {
    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.getWriter().println("[Demo2Servlet][work]");
    }
}
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
    <scope>provided</scope>
</dependency>

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <port>8080</port>
        <path>/web30</path>
    </configuration>
</plugin>
但是如果我在本地使用tomcat7,它工作得很好,为什么

我不明白的是为什么错误是
ClassCastException
,我扩展了HttpServlet

=======================================================================
多亏了@Vikdor,你说得很对,在servlet api依赖项中添加了
提供的
,效果非常好。

你使用的servlet api版本是什么?javax.servlet javax.servlet-api 3.0.1您是否尝试过将servlet api依赖项的作用域标记为
提供的
?thx伙计们,添加
提供的
可以解决此问题:)您好,请告诉我在哪里添加?我尝试将ServletAPI添加到项目的pom中,但没有成功。您使用的ServletAPI版本是什么?javax.servlet javax.servlet-api 3.0.1您是否尝试过将servlet api依赖项的作用域标记为
提供的
?thx伙计们,添加
提供的
可以解决此问题:)您好,请告诉我在哪里添加?我尝试将ServletAPI添加到项目的pom中,但没有成功。