java.lang.NoClassDefFoundError:org/springframework/context/ApplicationContext

ibps3vxo  于 2023-10-15  发布在  Spring
关注(0)|答案(7)|浏览(147)

我在部署我的项目时遇到了问题,我使用jsf/spring/hibernate作为faramework,我添加了必要的jar,特别是org.springframework.web-3.1.0.CI-1162,错误是:

  1. SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
  2. java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext
  3. at java.lang.Class.getDeclaredConstructors0(Native Method)
  4. at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
  5. at java.lang.Class.getConstructor0(Unknown Source)
  6. at java.lang.Class.newInstance0(Unknown Source)
  7. at java.lang.Class.newInstance(Unknown Source)
  8. at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4150)
  9. at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
  10. at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
  11. at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
  12. at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
  13. at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:675)
  14. at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:601)
  15. at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
  16. at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
  17. at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
  18. at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
  19. at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
  20. at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
  21. at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
  22. at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
  23. at org.apache.catalina.core.StandardService.start(StandardService.java:525)
  24. at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
  25. at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
  26. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  27. at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  28. at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  29. at java.lang.reflect.Method.invoke(Unknown Source)
  30. at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
  31. at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

并添加了jar列表:
antlr-2.7.6.jar
commons-dbcb-1.4.jar
commons-collections-3.1.jar
commons-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(适用于Primefaces)
javassist-3.9.0.GA.jar
com.springsource.org.jboss-el-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-connector-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
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(适用于Primefaces)
primefaces-3.5jar
slf4j-api-1.6.1.jar
slf4j-jdk14-1.6.1.jar
qlfj4-log4j12-1.6.4.jar

ttcibm8c

ttcibm8c1#

对于这个错误,可以有不同的解决方案。我记下了那些对我有用的人。

**解决方案1.**这通常发生在部署和调试环境中。在部署环境中,只需确保您的服务器classpath包含Spring jar库(例如spring-4.0.4.jar)。

在调试环境中,不同的IDE可能会有不同的步骤,但解决方案是相同的。在Eclipse中,开发人员通常会创建一个tomcat,jboss......无论用于调试的应用服务器是什么,只要确保包含正确的Spring jar就可以了。
1.双击调试服务器
1.单击“打开启动配置”以访问服务器环境
1.单击classpath选项卡
1.在这里包含Spring jar文件,由于Spring依赖性,它可能还需要common log jar。
1.完成后,再次运行应用程序。
.

**解决方案2.**如果您使用Maven作为构建工具并使用它下载依赖项,则可能会出现一些jar冲突。因为Tomcat服务器通常提供一些jar,如servlet-api和jpa-api。所以如果你再次使用maven包含它们;在识别它们时会有问题。
**解决方案3.**如果您使用Eclipse作为IDE,使用Maven作为构建工具,使用tomcat作为服务器;记住,Tomcat服务器不会查看文件夹中的jar文件。对此有一个小技巧,

1.右键单击您的 * 项目 ,然后选择 * 属性 *
1.在显示的窗口中,选择【部署程序集】
1.选择
添加*
1.添加 *Maven依赖 *
1.点击 * 应用 *,然后点击 * 确定 *
希望这些解决方案之一能帮助您解决您的问题。快乐编码,并确保使用Java。

展开查看全部
yptwkmov

yptwkmov2#

在我的情况下,我使用maven构建项目,只是因为没有正确创建war文件,它会导致这个异常。我检查了war文件并再次运行install,这解决了我的问题。

5us2dqdw

5us2dqdw3#

你必须下载必要的jar文件。您可以从以下链接下载spring-context.jar文件
http://mvnrepository.com/artifact/org.springframework/spring-context/3.2.2.RELEASE

8dtrkrch

8dtrkrch4#

我建议你把所有的Spring jar都换成最新的版本(3.2.2.RELEASE)

1rhkuytd

1rhkuytd5#

确保您的服务器类路径包含Spring jar库。Watch this link

7y4bm7vi

7y4bm7vi6#

我使用eclipse,发现Deployment Assembly上没有maven依赖项配置,因此我修改了.classpath,

  1. <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
  2. <attributes>
  3. <attribute name="maven.pomderived" value="true"/>
  4. </attributes>
  5. </classpathentry>

  1. <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
  2. <attributes>
  3. <attribute name="maven.pomderived" value="true"/>
  4. <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
  5. </attributes>
  6. </classpathentry>
pkbketx9

pkbketx97#

在我的例子中,我在pom.xml中有重复的依赖项。尝试检查并删除重复项

相关问题