1

在将 pom 中的 servlet-api 提供的依赖项从 2.3 更新到 2.5 后,我们自定义的 Struts 1.1 RequestProcessor 的单元测试开始失败,出现 NoClassDefFoundError: javax/servlet/jsp/JspException,与 2.3 相比,servlet-api-2.5 确实缺少.

我使用 JUnit 4.11 和 JMockit 1.2 进行单元测试。

有趣的是,该应用程序在将其部署到 JBoss 5.1 后运行良好。

Struts 1.1 是否与使用 servlet api 2.5 的 Web 应用程序兼容?

也许 JBoss 5.1 servlet-api 与取自 maven 存储库的 servlet-api-2.5 不同?

4

2 回答 2

2

javax.servlet.JspException是在 JSP API 中定义的异常。JSP API 是 Servlet API 的扩展

您在 JBoss 5.1 中没有遇到此问题的原因是因为 JBoss 5.1 包含jsp-api.jarJBOSS_HOME\common\lib目录中。

只需在您的 Struts 测试项目中包含相同的 jar 作为依赖项。

我希望这有帮助。

于 2013-08-13T11:37:13.223 回答
1

您需要将 jsp-api 添加到您的依赖项http://search.maven.org/#search|ga|1|a%3A%22jsp-api%22

于 2013-08-13T11:36:05.547 回答