Struts 1.1和Servlet 2.5 - 测试期间JspException的NoClassDefFoundError

时间:2013-08-13 11:31:43

标签: java unit-testing servlets struts jboss5.x

在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不同?

2 个答案:

答案 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