首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Servlet 2.5测试Spring框架4

用Servlet 2.5测试Spring框架4
EN

Stack Overflow用户
提问于 2014-01-07 17:39:30
回答 1查看 9.1K关注 0票数 18

让4使用Servlet2.5处理我现有的项目有问题。我的web项目实际上运行良好,但是我的测试用例失败了,它是由MockHttpServletRequest引起的,它引发了这个异常:-

代码语言:javascript
复制
java.lang.NoClassDefFoundError: javax/servlet/AsyncContext
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)

我尝试添加任何一个依赖项,但是我会得到其他Servlet3.0相关的异常:-

代码语言:javascript
复制
<dependency>
 <groupId>javax</groupId>
 <artifactId>javaee-api</artifactId>
 <version>6.0</version>
 <scope>test</scope>
</dependency>

<dependency>
  <groupId>org.mortbay.jetty</groupId>
  <artifactId>servlet-api</artifactId>
  <version>3.0.20090124</version>
  <scope>test</scope>
</dependency>

基于网站,据说它可以使用Servlet2.5。然而,MockHttpServletRequest似乎依赖Servlet3.0前进。

我该如何解决这个问题?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-07 17:48:37

将spring-test的依赖项限制在4之前的版本,如spring-test-3.2.

我不知道Spring-4放弃了对Servlet2.5的支持。3.9 Testing Improvements说:

从Spring4.0开始,org.springframework.mock.web包中的一组模拟与Servlet3.0兼容。

我不明白“兼容servlet-3”意味着放弃servlet-2.5支持。如果是故意的,至少应该进入参考文件。因此,它甚至可能值得提交一个bug (SPR-11292)。

但是等一下,有3.4 Java EE 6 and 7

Java 6或更高版本现在被认为是Spring 4的基线,JPA2.0和Servlet3.0规范特别相关.可以将Spring应用程序部署到Servlet2.5环境中;但是,如果可能,建议使用Servlet 3.0+。

因此,我认为这符合文档中提到的内容。

更新:--Spring4.0.1参考文档--现在更清楚了:

Servlet 3.0+是强烈推荐的,也是开发环境中用于测试设置的Spring测试和模拟包中的先决条件。

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20978235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档