在pom中将servlet-api提供的依赖关系从2.3更新到2.5后,我们的自定义Struts 1.1 RequestProcessor的单元测试开始失败,出现NoClassDefFoundError:javax / servlet / jsp / JspException,这在servlet-api-2.5中确实缺乏,与2.3相比。
我使用JUnit 4.11和JMockit 1.2进行单元测试。
有趣的是,应用程序在部署到JBoss 5.1后工作正常。
Struts 1.1是否与使用servlet api 2.5的网络应用程序兼容?
也许JBoss 5.1 servlet-api与从maven存储库中获取的servlet-api-2.5不同?
答案 0 :(得分:2)
javax.servlet.JspException
是JSP API中定义的异常。 JSP API是Servlet API的扩展。
您在JBoss 5.1中没有遇到此问题的原因是因为JBoss 5.1在jsp-api.jar
目录中包含JBOSS_HOME\common\lib
。
只需在Struts测试项目中包含相同的jar作为依赖项。
我希望这会有所帮助。
答案 1 :(得分:1)
您需要将jsp-api添加到依赖项http://search.maven.org/#search|ga|1|a%3A%22jsp-api%22