java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext
Napotkałem problemy podczas wdrażania mojego projektu, którego używam jsf/spring/hibernate jako faramework, dodałem niezbędne pliki jars, a konkretnie org.springframework.web-3.1.0.CI-1162, błąd:
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)
a lista puszek została uzupełniona:
antlr-2.7.6.jar
commons-dbcb-1.4.jar
commons-collection-3.1.jar
shared-pool.1.6.jar
Commons-logging-1.1.jar
dom4j-1.6.1.jar
hibernate3.jar
hibernate-jpa-2.0-api-1.0.1.Final.jar
iText-5.0.4.jar (dla Primefaces)
javassist-3.9.0.GA.jar
com.springsource.org.jboss-el-2.0.0.GA.jar (opcjonalnie do uruchomienia na Tomcat 6)
jsf-api.jar (Moharra 2.0.4)
jsf-impl.jar (Moharra 2.04)
nasz-1.1.jar
log4j-1.2.11.jar
mysql-connector-java-5.0.5.jar (dla 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
org.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.jar
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
poi-3.2-FINAL-20081019.jar (dla Primefaces)
primefaces-3.5jar
slf4j-api-1.6.1.jar
slf4j-jdk14-1.6.1.jar
qlfj4-log4j12-1.6.4.jar
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
6 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Rozwiązanie 1.
Dzieje się tak zawsze w środowisku wdrażania i debugowania.
W środowisku wdrożeniowym po prostu upewnij się, że serwer ścieżki klas zawiera bibliotekę Spring jar (na przykład spring-4.0.4.jar).
W środowisku debugowania kroki mogą się różnić w zależności od IDE do IDE, ale rozwiązanie jest takie samo. W Eclipse programiści zwykle budują tomcat, jboss ... dowolny serwer aplikacji do debugowania, po prostu upewnij się, że są włączone odpowiednie pliki JAR Spring.
Rozwiązanie 2.
Jeśli używasz Mavena jako narzędzia do kompilacji i pobierasz za jego pomocą zależności, może wystąpić konflikt jar. Ponieważ serwery Tomcat zwykle udostępniają niektóre pliki JAR, takie jak servlet-api i jpa-api. Więc jeśli włączysz je ponownie za pomocą maven; będą problemy z ich identyfikacją.
Rozwiązanie 3.
Jeśli używasz Eclipse jako IDE i używasz Maven jako narzędzia do budowania i Tomcat jako serwera, pamiętaj, że serwer Tomcat nie będzie patrzył na jary, które znajdują się tylko w folderach. Jest na to mała sztuczka,
Mam nadzieję, że jedno z tych rozwiązań pomoże Ci rozwiązać problem.
Miłego kodowania i upewnij się, że używana jest Java.
Anonimowy użytkownik
Potwierdzenie od:
Sprawdzam plik wojenny i ponownie uruchamiam instalację, co rozwiązuje mój problem.
Anonimowy użytkownik
Potwierdzenie od:
http://mvnrepository.com/artif ... LEASE
http://mvnrepository.com/artif ... LEASE
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Sprawdź ten link
http://www.mkyong.com/spring/s ... ener/
.
Anonimowy użytkownik
Potwierdzenie od:
więc zmieniłem .classpath z
do