2013-04-13 1 views
7

У меня возникли проблемы с развертыванием моего проекта, в котором я использую jsf/spring/hibernate как faramework, я добавил необходимые банки специально org.springframework.web-3.1 .0.CI-1162, ошибка:java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext

SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener 
java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext 
    at java.lang.Class.getDeclaredConstructors0(Native Method) 
    at java.lang.Class.privateGetDeclaredConstructors(Unknown Source) 
    at java.lang.Class.getConstructor0(Unknown Source) 
    at java.lang.Class.newInstance0(Unknown Source) 
    at java.lang.Class.newInstance(Unknown Source) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4150) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601) 
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:675) 
    at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:601) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502) 
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317) 
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065) 
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057) 
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) 
    at org.apache.catalina.core.StandardService.start(StandardService.java:525) 
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:595) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 

и список банок добавил:

ANTLR-2.7.6.jar

Обще-dbcb-1.4.jar

Викисклада коллекции-3.1.jar

Обще-pool.1.6.jar

Обще-каротаж 1.1.jar

dom4j-1.6.1.jar

hibernate3.jar

Hibernate-JPA-2,0-апи-1.0.1.Final.jar

IText-5.0.4.jar (для Primefaces)

Javassist-3.9.0.GA.jar

com.springsource.org.jboss-эль-2.0.0.GA.jar (Необязательно для работы на Tomcat 6)

JSF-api.jar (Mojarra 2.0.4)

JSF-impl.jar (Mojarra 2,04)

JTA-1.1.jar

log4j-1.2.11.jar

MySQL-разъем-Java-5.0. 5.jar (для MySQL)

org.springframework.aop-3.1.0.CI-1162.jar

org.springframework.asm-3.1.0.CI-1162.jar

org.springframework.aspects-3.1. 0.CI-1162.jar

org.springframework.beans-3.1.0.CI-1162.jar

org.springframework.context-3.1.0.CI-1162.jar

орг .springframework.context.support-3.1.0.CI-1162.jar

org.springframework.core-3.1.0.CI-1162.jar

org.springframework.expression-3.1.0.CI-1162.jar

org.springframework.jdbc-3.1. 0.CI-1162.jar

org.springframework.orm-3.1.0.CI-1162.jar

org.springframework.oxm-3.1.0.M1.jar

org.springframework .transaction-3.1.0.CI-1162.банку

org.springframework.web-3.1.0.CI-1162.jar

org.springframework.web.portlet-3.1.0.M1.jar

org.springframework.web.servlet -3.1.0.CI-1162.jar

пои-3,2-ЗАВЕРШЕНИЕ-20081019.jar (для primefaces)

primefaces-3.5jar

SLF4J-апи-1.6.1.jar

SLF4J-jdk14-1.6.1.jar

qlfj4-log4j12-1.6.4.jar

+2

Как вы строите военный файл? (Maven? Ant? Eclipse?) – artbristol

+0

Если вы нашли правильный ответ здесь, отметьте его как правильно, чтобы он мог помочь будущим посетителям схожими проблемами. Спасибо – KingFeming

ответ

0

Вы должны загрузить необходимый файл банку. Вы можете скачать пружинный context.jar файл по следующей ссылке

http://mvnrepository.com/artifact/org.springframework/spring-context/3.2.2.RELEASE

+0

'spring-context' уже в списке (' org.springframework.context-3.1.0.CI-1162.jar') – artbristol

+0

Вы не можете знать, не пытаясь использовать этот файл jar. Также я обновил свой ответ – olyanren

+0

Как вы видите класс ApplicationContext в этом файле jar. – olyanren

0

Я предлагаю вам заменить все пружинные банки с наиболее актуальной версии (3.2.2.RELEASE)

Убедитесь
+0

Я пробовал раньше с другой версией весны, но это та же проблема! – hela

+0

Обновление версии пружинных банок - это то, что вызвало эту проблему для меня. – Marvo

22

Для этой ошибки могут быть разные решения. Я отметил то, что сработало для меня.

Решение 1. Это всегда происходило в среде развертывания и отладки. В среде развертывания, только Убедитесь, что сервер включен путь к классу библиотека Spring банки (например пружинный 4.0.4.jar).

В отладке среды, этапы могут варьироваться в зависимости от различного IDE, но решение то же самое. В Eclipse, разработчики обычно создают Tomcat, JBoss ... независимо от сервера приложений для отладки, просто убедитесь, что правильные банки Spring включены.

  1. Двойной клик по отладке сервера
  2. Нажмите на кнопку «Открыть конфигурацию запуска» для доступа к серверной среде
  3. Нажмите на вкладке Путь к классам
  4. Include файлы Spring фляги здесь, может также требуется из-за пружинной зависимости.
  5. Done, запустить приложение снова.

.

Решение 2. Если вы используете Maven как инструмент для сборки и загрузок зависимостей, используя его, может быть какой-то конфликт баночкой. Поскольку сервера Tomcat обычно предоставляют некоторые банки, такие как сервлет и JPA-пожарного огнь. Поэтому, если вы включаете их, используя maven; будут проблемы с их выявлением.

Решение 3. Если вы используете Eclipse, как ваш IDE и с использованием Maven как инструмент сборки и Tomcat в качестве вашего сервера; помните, что сервер Tomcat не будет смотреть на банки, которые находятся только внутри папок.Для этого есть маленькая хитрость,

  1. правой кнопкой мыши на вашем проекта и выберите свойства
  2. В появившемся окне выберите Deployment ассамблею
  3. Выбрать Add
  4. Добавить Maven зависимостей
  5. Нажмите Применить и нажмите кнопку OK

Надежда одна из этих решений могли бы помочь вам решить вашу проблему. Счастливое кодирование и убедитесь, что использует Java.

+1

Решение 3 работало для меня. Благодарю. – Ammad

1

В моей ситуации я использую maven для создания проекта, только потому, что файл войны создан неправильно, это приведет к этому исключению. Я проверяю файл войны и запускаю установку снова, что решает мою проблему.

Смежные вопросы