Junit - NoClassDefFoundError [RESOLVIDO]

4 respostas
dlt

Tenho uma action que quando tento executar dá esse erro.
Esse erro começou a aparecer depois que eu comecei a fazer testes unitários pra essa action.

java.lang.NoClassDefFoundError: org/springframework/mock/web/MockHttpServletRequest

at java.lang.Class.getDeclaredMethods0(Native Method)

at java.lang.Class.privateGetDeclaredMethods(Class.java:2365)

at java.lang.Class.getDeclaredMethods(Class.java:1763)

at java.beans.Introspector$1.run(Introspector.java:1265)

at java.security.AccessController.doPrivileged(Native Method)

at java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1263)

at java.beans.Introspector.getTargetMethodInfo(Introspector.java:1129)

at java.beans.Introspector.getBeanInfo(Introspector.java:387)

at java.beans.Introspector.getBeanInfo(Introspector.java:159)

at org.springframework.beans.CachedIntrospectionResults.(CachedIntrospectionResults.java:142)

at org.springframework.beans.CachedIntrospectionResults.forClass(CachedIntrospectionResults.java:83)

at org.springframework.beans.BeanWrapperImpl.setIntrospectionClass(BeanWrapperImpl.java:239)

at org.springframework.beans.BeanWrapperImpl.setWrappedInstance(BeanWrapperImpl.java:197)

at org.springframework.beans.BeanWrapperImpl.setWrappedInstance(BeanWrapperImpl.java:180)

at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:158)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:684)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowire(AbstractAutowireCapableBeanFactory.java:249)

at com.opensymphony.xwork2.spring.SpringObjectFactory.buildBean(SpringObjectFactory.java:145)

at com.opensymphony.xwork2.spring.SpringObjectFactory.buildBean(SpringObjectFactory.java:128)

at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:141)

at com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:111)

at com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:270)

at com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:360)

at com.opensymphony.xwork2.DefaultActionInvocation.access$000(DefaultActionInvocation.java:38)

at com.opensymphony.xwork2.DefaultActionInvocation$1.doProfiling(DefaultActionInvocation.java:78)

at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)

at com.opensymphony.xwork2.DefaultActionInvocation.(DefaultActionInvocation.java:70)

at com.opensymphony.xwork2.DefaultActionInvocation.(DefaultActionInvocation.java:66)

at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)

at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)

at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:497)

at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)

at com.aix2.filter.FilterStrutsWW.doFilter(FilterStrutsWW.java:50)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)

at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)

at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)

at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)

at java.lang.Thread.run(Thread.java:595)

alguém sabe o porque disso?
grato desde já

4 Respostas

von.juliano

dlt:

java.lang.NoClassDefFoundError: org/springframework/mock/web/MockHttpServletRequest

Está faltando a classe MockHttpServletRequest do Spring, adicione o jar ao projeto que deve funcionar.

Blz? Flw! :thumbup:

dlt

Obrigado pela resposta, von.juliano!

Foi só colocar o spring-mock.jar na pasta c:\tomcat\shared\lib que funcionou…

Eu sou iniciante em java e to usando o eclipse e estou com dificuldade de entender quando que eu tenho que adicionar uma coisa ao build path do eclipse e quando que eu tenho que adicionar no classpath…

Acho que um é específico do projeto que eu to mexendo e o outro serve pra todas aplicações que rodarem na minha jvm, está certo?

von.juliano

dlt:
Obrigado pela resposta, von.juliano!

Foi só colocar o spring-mock.jar na pasta c:\tomcat\shared\lib que funcionou…

Eu sou iniciante em java e to usando o eclipse e estou com dificuldade de entender quando que eu tenho que adicionar uma coisa ao build path do eclipse e quando que eu tenho que adicionar no classpath…

Acho que um é específico do projeto que eu to mexendo e o outro serve pra todas aplicações que rodarem na minha jvm, está certo?


Sim, está certo. Para aprofundar seus conhecimentos sobre classpath, leia o artigo do guj sobre o assunto!

Flw! :thumbup:

dlt

Valeu…
Eu só não entendi porque que tava dando esse erro, se o .jar já estava no buildpath do projeto… o que poderia estar errado?
Tem que fazer alguma coisa depois que se adiciona um .jar na classpath pra aplicar as mudanças?

Criado 9 de janeiro de 2008
Ultima resposta 10 de jan. de 2008
Respostas 4
Participantes 2