maven项目中找不到javax/servlet/http/HttpServletResponse

严重: Begin event threw error
java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletResponse

我是有这个jar包的

图片说明

maven项目中,明明有这个jar包,却说我没有。

看看的 pom.xml 配置文件中有没有,如果有再 clean pacakege 重新编译一下试试。

一般是版本问题,换一个高版本的试试

信息量不足啊

servlet.api包的scope是provided,编译测试的时候由Maven帮你引入, 运行时需要容器(tomcat)自行提供。
看看你想项目有没有被部署到tomcat/webapps下面,tomcat肯定是带了这个包。

也可以考虑用maven自带的tomcat插件,配置一下依赖项

 <build>
    <plugins>

      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <port>9000</port> <!-- 端口 -->
          <path>/</path> <!-- 项目路径 -->
        </configuration>
      </plugin>
    </plugins>
  </build>

使用下面命令
tomcat7:run 运行target下面的 xxx 项目,动态项目,修改jsp即时生效
我们可以使用这个来调试程序,就像eclipse里面tomcat的debug一样。

tomcat7:run-war 运行target下面的 xxx.war 包,修改jsp无法即时生效,因为使用的是war包中的东西。
这种方式应该有提高效率,做了一些优化等等,和eclipse里面tomcat的run一样

mvn tomcat7:run

项目–>右键–>properties–>java build bath–>Libraries
这里要保有这两个包。
如果你的没有,那么:add Library–>user Library–>user Libraties–>new–>名字–>选中–>add External Libraries–>找到你的Tomcat目录\lib,里面选中这两个包:jsp-api.jar和servlet-api.jar

需要注意的是,add Selected 后,需要将其的 Scope 设置为 Compile ,我第一次没有设置还是不起作用,设置完成后就可以正常运行main方法了。