0 0

Tomcat7启动报NoClassDefFoundError,Jetty启动正常5

    今天使用Maven做了个Struts2+Spring3+Hibernate4的小Demo,使用Tomcat7启动时报错,错误信息如下:

 

2013-12-2 13:53:49 org.apache.catalina.core.AprLifecycleListener init
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\jdk1.6\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;D:/Java/jdk/bin/../jre/bin/client;D:/Java/jdk/bin/../jre/bin;D:/Java/jdk/bin/../jre/lib/i386;D:\Java\jdk\bin;D:\oracle\app\oracle\product\10.2.0\server\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs;D:\svn\bin;D:\rose\common;D:\mysqlbase\bin;D:\WPS\WPSOffice\9.1.0.4249\office6;C:\Program Files\StormII\Codec;C:\Program Files\StormII;D:\Java\jdk\bin;D:\maven3\bin\;D:\ant\bin;D:\btrace\bin;;D:\eps\eclipse1.0.3;
2013-12-2 13:53:50 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:ssh_easyui_st' did not find a matching property.
2013-12-2 13:53:52 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-bio-8486"]
2013-12-2 13:53:52 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["ajp-bio-8219"]
2013-12-2 13:53:52 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 3256 ms
2013-12-2 13:53:52 org.apache.catalina.core.StandardService startInternal
信息: Starting service Catalina
2013-12-2 13:53:52 org.apache.catalina.core.StandardEngine startInternal
信息: Starting Servlet Engine: Apache Tomcat/7.0.47
2013-12-2 13:53:53 org.apache.tomcat.websocket.server.WsSci onStartup
信息: JSR 356 WebSocket (Java WebSocket 1.0) support is not available when running on Java 6. To suppress this message, run Tomcat on Java 7, remove the WebSocket JARs from $CATALINA_HOME/lib or add the WebSocketJARs to the tomcat.util.scan.DefaultJarScanner.jarsToSkip property in $CATALINA_BASE/conf/catalina.properties. Note that the deprecated Tomcat 7 WebSocket API will be available. 
2013-12-2 13:53:53 org.apache.catalina.util.SessionIdGenerator createSecureRandom
信息: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [234] milliseconds.
2013-12-2 13:53:54 org.apache.catalina.core.ContainerBase startInternal
严重: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ssh_easyui]]
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ssh_easyui]]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
	... 7 more
Caused by: java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext
	at java.lang.Class.getDeclaredFields0(Native Method)
	at java.lang.Class.privateGetDeclaredFields(Class.java:2291)
	at java.lang.Class.getDeclaredFields(Class.java:1743)
	at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106)
	at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:263)
	at org.apache.catalina.startup.WebAnnotationSet.loadApplicationListenerAnnotations(WebAnnotationSet.java:92)
	at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:65)
	at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:405)
	at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:881)
	at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:376)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5322)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	... 7 more
Caused by: java.lang.ClassNotFoundException: org.springframework.context.ApplicationContext
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
	... 21 more
2013-12-2 13:53:54 org.apache.catalina.core.ContainerBase startInternal
严重: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:691)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:456)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131)
	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	... 7 more
2013-12-2 13:53:54 org.apache.catalina.startup.Catalina start
严重: The required Server component failed to start so Tomcat is unable to start.
org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8325]]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:691)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:456)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	... 7 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	... 9 more
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131)
	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	... 11 more
2013-12-2 13:53:54 org.apache.coyote.AbstractProtocol pause
信息: Pausing ProtocolHandler ["http-bio-8486"]
2013-12-2 13:53:54 org.apache.coyote.AbstractProtocol pause
信息: Pausing ProtocolHandler ["ajp-bio-8219"]
2013-12-2 13:53:54 org.apache.catalina.core.StandardService stopInternal
信息: Stopping service Catalina
2013-12-2 13:53:54 org.apache.coyote.AbstractProtocol destroy
信息: Destroying ProtocolHandler ["http-bio-8486"]
2013-12-2 13:53:54 org.apache.coyote.AbstractProtocol destroy
信息: Destroying ProtocolHandler ["ajp-bio-8219"]

    spring-context-3.1.2.RELEASE.jar这个包在maven中引入了,lib下可以看到,把target的classes文件删除重新编译或者换个tomcat[Tomcat_7039,Tomcat_7047]还是报错,很奇怪。使用jetty启动时成功,页面可以访问没问题,以前也遇到过tomcat启动报A child container failed during start错,但那是少包引起的,现在情况是包存在启动却报错,请教这是什么原因引起的?


问题补充:Spring依赖包配额如下:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.1.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.1.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>3.1.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>3.1.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.1.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>3.1.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>3.1.5.RELEASE</version>
</dependency>
</dependencies>
2013年12月02日 14:04

2个答案 按时间排序 按投票排序

0 0

采纳的答案

是不是jar包冲突,看下WEN-INF/lib报下是否存在不同版本spring-context

2013年12月02日 18:51
0 0

应该是在不同的jar中,存在相同的包路径,但是在其中的一个路径中不存在指定的那个类。

2013年12月02日 16:15

相关推荐

    Tomcat无法启动

    在 MyEclipse 中,Tomcat 7 无法启动,报错信息为 java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory。这个错误是由于类路径错误导致的,具体来说,是由于缺少 tomcat-juli.jar 文件。 解决方法...

    myEclipse6.5+Tomcat7 搭建环境

    - **Tomcat启动缓慢**:检查Tomcat的日志文件,查找是否有异常记录;减少Tomcat的启动参数;优化JVM参数设置等。 - **无法访问Web应用**:检查应用是否正确部署到了Tomcat的webapps目录下;确认Tomcat的服务是否正常...

    myeclipse配置tomcat7.0

    MyEclipse配置Tomcat7.0时,需要添加tomcat-juli.jar文件到classpath中,设置正确的JAVA_HOME环境变量,并且正确地配置Server、Context、Mapping等设置,这样才能成功启动Tomcat7.0并确保其正常运行。

    tomcat7整合memcached所需jar包

    标题 "tomcat7整合memcached所需jar包" 暗示了我们要讨论的是如何在Tomcat 7这个流行的Java应用服务器上集成Memcached,一个分布式内存对象缓存系统。这个过程通常涉及到添加必要的jar包到Tomcat的类路径中,以便...

    在线等待解决java tomcat 报错问题:java.lang.NoClassDefFoundError: javax/tools/StandardJavaF

    标题中的“java.lang.NoClassDefFoundError: javax/tools/StandardJavaFile”是一个常见的Java运行时错误,它表示在类路径中找不到某个类的定义。这个错误通常发生在试图执行包含特定类的代码,但该类在运行时环境中...

    juel-Tomcat与EL冲突问题

    启动Tomcat时报错:Caused by: java.lang.LinkageError: loader constraints violated when linking javax/el/ExpressionFactory class 说明:原因是juel.jar, juel-engine.jar, juel-impl.jar包和Tomcat6.0中的el-...

    tomcat启动报错:java.util.zip.ZipException的解决方法

    早上起来报错误,Jenkins打包到tomcat服务器,死活启动不起来,一些定时任务也没跑成功。 报错如下: org.apache.catalina.startup.ContextConfig.beforeStart Exception fixing docBase for context [/test] ...

    java.lang.NoClassDefFoundError: javax/persistence/EntityListener

    3. **类路径配置**:在运行环境(如Tomcat或Jetty)中,类路径配置错误可能导致类找不到。检查服务器的类加载器设置,确保它们能够找到并加载所有的类。 4. **版本冲突**:不同版本的库之间可能存在不兼容性,导致...

    nginx+tomcat+memcached负载均衡集群搭建许jar包大全

    1)msm1.6.5依赖了Couchbase,需要添加couchbase-client的jar包,否则启动会报:java.lang.NoClassDefFoundError:com/couchbase/client/CouchbaseClient。 2)Tomcat6和Tomcat7使用不同msm支持包:memcached-...

    java.lang.NoClassDefFoundError:

    日志显示,在启动Apache Tomcat服务器的过程中,Spring框架试图初始化Web应用上下文时遇到了问题。具体错误信息如下: ```plaintext 2011-9-23 19:11:19 org.apache.catalina.core.StandardContext listenerStart ...

    NoClassDefFoundError: jxl/WorkbookSettings

    标题 "NoClassDefFoundError: jxl/WorkbookSettings" 是一个常见的Java运行时错误,意味着在尝试执行程序时,系统无法找到某个类的定义。这个错误通常发生在类路径(ClassPath)配置不正确或者缺少了必要的库依赖时...

    IntelliJ IDEA导入Gradle项目,并启动项目.docx

    2. **内存溢出问题**:如果遇到`java.lang.NoClassDefFoundError`,可能是Tomcat运行时内存不足。在`Edit Configurations` -&gt; `Tomcat Server`中,配置`VM options`以增加内存分配,例如: `-Xms512M -Xmx1024M -XX...

    java.lang.NoClassDefFoundError: Lorg/hibernate/cache/CacheProvider

    4. **类加载器问题**:在某些情况下,如容器环境(如Tomcat、Jetty)中,如果多个类路径下存在相同类的定义,可能会导致类加载混乱,进而引发此错误。 为了解决这个问题,可以按照以下步骤进行排查: 1. **检查...

    springBoot输出日志配置

    例如,你可以使用`--logging.level.org.springframework.web=DEBUG`启动应用来临时开启Web层的日志调试。 最后,Spring Boot提供了日志事件监听器,你可以创建自定义的监听器来处理特定的日志事件。这通常涉及到...

    java.lang.NoClassDefFoundError

    ### Java中的`java.lang.NoClassDefFoundError`: javax/mail/Message #### 错误概述 在Java编程过程中遇到`java.lang.NoClassDefFoundError`是一个常见的问题,这种异常通常发生在试图加载一个类时,该类在编译时...

    java.lang.NoClassDefFoundError: de/javakaffee/kryoserializers/CurrencySerializer

    java.lang.NoClassDefFoundError: de/javakaffee/kryoserializers/CurrencySerializer

    SpringBoot 2.0以上版本开发 部署到tomcat 7冲突的解决办法

    公司项目开发时使用的SpringBoot框架版本为2.1.4,甲方提供的部署环境为阿里的EDAS平台,使用的tomcat版本为阿里的taobao-tomcat 7。部署项目时发现报错。 Caused by: java.lang.NoClassDefFoundError: javax/el/...

    NoClassDefFoundError: org/slf4j/LoggerFactory解决方案

    NoClassDefFoundError: org/slf4j/LoggerFactory解决方案,需要添加的三个jar包都在,slf4j-api-1.5.2,slf4j-log4j12-1.5.2,log4j-1.2.12

    tomcat beifeng

    启动 Tomcat 7.0 之前,请确保 JRE 已正确安装并且环境变量已设置好。然后可以通过命令行或图形界面工具启动 Tomcat 服务。 ##### 5.2 配置参数 对于高级配置需求,您可能需要编辑 `CATALINA_HOME/conf/server.xml`...

Global site tag (gtag.js) - Google Analytics