Веб-приложение Spring 3.0 NoClassDefFoundError - ошибка пути к классу - PullRequest
2 голосов
/ 16 февраля 2011

Мое веб-приложение не может найти org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean класс, несмотря на наличие org.springframework.web-3.0.2.RELEASE.jar в WEB-INF Каталог / lib. Если я добавлю более старую версию spring.jar (2.5.6) в веб-приложение, то класс будет найден. Любые идеи, почему это может происходить и как я могу это исправить, не возвращаясь к Spring-2.5.6 или сохраняя обе версии Spring в одном веб-приложении?

Я развертываю на Tomcat 6.0.28.

Вот ошибка:

  • Причина: java.lang.NoClassDefFoundError: org / springframework / remoting / httpinvoker / HttpInvokerProxyFactoryBean

Вот весенние банки в пути к классам (WEB-INF / lib):

  • org.springframework.aop-3.0.2.RELEASE.jar
  • org.springframework.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

Возможные связанные вопросы:

1 Ответ

3 голосов
/ 16 февраля 2011

NoClassDefFoundError не совпадает с ClassNotFoundException. Это означает, что определение класса, используемое внутри HttpInvokerProxyFactoryBean, не может быть найдено, не сам класс.

Другими словами, все классы импорта HttpInvokerProxyFactoryBean и его суперклассов должны быть найдены в вашем пути к классам.

Поскольку HttpInvokerProxyFactoryBean является подклассом org.springframework.aop.framework.ProxyFactory, а ProxyFactory зависит от aopalliance-1.0.jar, вам нужно будет включить это в ваш путь к классам.

...