2011-02-16 8 views
2

Mon webapp ne parvient pas à trouver la classe org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean malgré org.springframework.web-3.0.2.RELEASE.jar dans le WEB-INF/répertoire lib. Si j'ajoute une ancienne version de spring.jar (2.5.6) à la webapp, alors la classe est trouvée. Des idées pourquoi cela peut-être se produire et comment je peux le réparer sans revenir à printemps-2.5.6 ou en gardant les deux versions du printemps dans la même webapp?Spring 3.0 webapp NoClassDefFoundError - numéro classpath

Je suis en train de déployer sur Tomcat 6.0.28.

est ici l'erreur:

  • Causée par: java.lang.NoClassDefFoundError: org/springframework/Remoting/httpinvoker/HttpInvokerProxyFactoryBean

Voici les pots de printemps dans le classpath (WEB-INF/lib):

  • org.springframework.aop-3.0.2.RELEASE.jar
  • org.springframewo rk.asm-3.0.2.RELEASE.jar
  • org.springframework.beans-3.0.2.RELEASE.jar
  • org.springframework.context-3.0.2.RELEASE.jar
  • org.springframework. core-3.0.2.RELEASE.jar
  • org.springframework.expression-3.0.2.RELEASE.jar
  • org.springframework.web-3.0.2.RELEASE.jar
  • org.springframework.web. servlet-3.0.2.RELEASE.jar

Questions éventuellement liées ons:

+0

La classe est-elle présente dans ces pots? –

+0

il est présent dans org.springframework.web-3.0.2.RELEASE.jar – Thimmayya

+1

Pourriez-vous poster une trace de pile? 'NoClassDefFoundError' n'est pas la même chose que' ClassNotFoundException'. Cela signifie que la définition de classe utilisée dans 'HttpInvokerProxyFactoryBean' ne peut pas être trouvée, pas la classe elle-même. – gigadot

Répondre

3

NoClassDefFoundError n'est pas la même chose que ClassNotFoundException. Cela signifie que la définition de classe utilisée à l'intérieur de HttpInvokerProxyFactoryBean est introuvable, pas la classe elle-même. En d'autres termes, toutes les classes d'importation de HttpInvokerProxyFactoryBean et de ses superclasses doivent être trouvées dans votre classpath.

Depuis le HttpInvokerProxyFactoryBean est une sous-classe de org.springframework.aop.framework.ProxyFactory et ProxyFactory dépend de aopalliance-1.0.jar, vous devez inclure dans votre classpath.