严重: Begin event threw error
java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletResponse
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方法了。