构造函数抛出异常;嵌套异常是java.lang.NoClassDefFoundError:javaxservletServletContext

构造函数抛出异常;嵌套异常是java.lang.NoClassDefFoundError:javaxservletServletContext,第1张

概述我正在尝试使用MockMVC设置Junit测试.从这个link - “要么不能使用Servlet API,要么你需要在类路径上提供它”.我在pom.xml中添加了以下内容但是没有用.任何的想法? <dependency> <groupId>javax.servlet</groupId>

我正在尝试使用mockmvc设置Junit测试.

从这个link – “要么不能使用Servlet API,要么你需要在类路径上提供它”.

我在pom.xml中添加了以下内容但是没有用.任何的想法?

    

这是跟踪

org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.test.context.web.WebDelegatingSmartContextLoader]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: javax/servlet/ServletContext    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163)    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:105)    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:130)    at org.springframework.test.context.ContextLoaderUtils.resolveContextLoader(ContextLoaderUtils.java:118)    at org.springframework.test.context.ContextLoaderUtils.buildMergedContextConfiguration(ContextLoaderUtils.java:594)    at org.springframework.test.context.ContextLoaderUtils.buildMergedContextConfiguration(ContextLoaderUtils.java:560)    at org.springframework.test.context.TestContext.

好的,根据评论更新,所以我把范围改为编译然后似乎通过了找不到类的问题!

    
最佳答案这是一个常见问题.正如Aniket Thakur所说,容器将在运行时提供所有Java servlet类.但在测试期间,您需要一个罐子来提供它们.

您添加到pom中的依赖项只是API:它声明了所有内容但不包含任何实现.所以它无济于事.无论如何,你声明它是“提供”,它对maven说“别担心,我知道它将在classpath”.

您必须添加一个依赖项,以便在测试范围内实现所有Java EE类的实现.在我的项目中,我使用glassfish,即使我后来使用tomcat作为servlet容器,但我曾经发现相同问题的依赖性谷歌搜索:

它应该解决你的NoClassDefFoundError问题. 总结

以上是内存溢出为你收集整理的构造函数抛出异常;嵌套异常是java.lang.NoClassDefFoundError:javax/servlet/ServletContext全部内容,希望文章能够帮你解决构造函数抛出异常;嵌套异常是java.lang.NoClassDefFoundError:javax/servlet/ServletContext所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1263169.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)