首页 > 代码库 > Caused by: java.lang.ClassCastException: org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer错误解决办法

Caused by: java.lang.ClassCastException: org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer错误解决办法

严重: Failed to initialize end point associated with ProtocolHandler ["http-bio-8080"]java.net.BindException: Address already in use <null>:8080	at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:407)	at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:623)	at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:434)	at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)	at org.apache.catalina.connector.Connector.initInternal(Connector.java:981)	at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)	at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)	at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)	at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:814)	at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)	at org.apache.catalina.startup.Tomcat.start(Tomcat.java:341)	at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.startContainer(AbstractRunMojo.java:1238)	at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.execute(AbstractRunMojo.java:592)	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)	at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)	at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)	at java.lang.reflect.Method.invoke(Method.java:606)	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)	at org.codehaus.classworlds.Launcher.main(Launcher.java:47)Caused by: java.net.BindException: Address already in use	at java.net.PlainSocketImpl.socketBind(Native Method)	at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)	at java.net.ServerSocket.bind(ServerSocket.java:376)	at java.net.ServerSocket.<init>(ServerSocket.java:237)	at java.net.ServerSocket.<init>(ServerSocket.java:181)	at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)	at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:394)	... 36 more十月 05, 2016 4:29:55 下午 org.apache.catalina.core.StandardService initInternal严重: Failed to initialize connector [Connector[HTTP/1.1-8080]]org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8080]]	at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)	at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)	at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)	at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:814)	at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)	at org.apache.catalina.startup.Tomcat.start(Tomcat.java:341)	at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.startContainer(AbstractRunMojo.java:1238)	at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.execute(AbstractRunMojo.java:592)	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)	at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)	at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)	at java.lang.reflect.Method.invoke(Method.java:606)	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)	at org.codehaus.classworlds.Launcher.main(Launcher.java:47)Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed	at org.apache.catalina.connector.Connector.initInternal(Connector.java:983)	at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)	... 31 moreCaused by: java.net.BindException: Address already in use <null>:8080	at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:407)	at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:623)	at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:434)	at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)	at org.apache.catalina.connector.Connector.initInternal(Connector.java:981)	... 32 moreCaused by: java.net.BindException: Address already in use	at java.net.PlainSocketImpl.socketBind(Native Method)	at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)	at java.net.ServerSocket.bind(ServerSocket.java:376)	at java.net.ServerSocket.<init>(ServerSocket.java:237)	at java.net.ServerSocket.<init>(ServerSocket.java:181)	at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)	at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:394)	... 36 more十月 05, 2016 4:29:55 下午 org.apache.catalina.core.StandardService startInternal信息: Starting service Tomcat十月 05, 2016 4:29:55 下午 org.apache.catalina.core.StandardEngine startInternal信息: Starting Servlet Engine: Apache Tomcat/7.0.47十月 05, 2016 4:29:55 下午 org.apache.catalina.core.ContainerBase startInternal严重: A child container failed during startjava.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/MySSM]]	at java.util.concurrent.FutureTask.report(FutureTask.java:122)	at java.util.concurrent.FutureTask.get(FutureTask.java:188)	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.run(FutureTask.java:262)	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)	at java.lang.Thread.run(Thread.java:744)Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/MySSM]]	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)	... 6 moreCaused by: java.lang.ClassCastException: org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer	at org.apache.catalina.startup.ContextConfig.getServletContainerInitializer(ContextConfig.java:1670)	at org.apache.catalina.startup.ContextConfig.getServletContainerInitializers(ContextConfig.java:1652)	at org.apache.catalina.startup.ContextConfig.processServletContainerInitializers(ContextConfig.java:1562)	at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1270)	at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878)	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)	... 6 more十月 05, 2016 4:29:56 下午 org.apache.catalina.core.ContainerBase startInternal严重: A child container failed during startjava.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]]	at java.util.concurrent.FutureTask.report(FutureTask.java:122)	at java.util.concurrent.FutureTask.get(FutureTask.java:188)	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.Tomcat.start(Tomcat.java:341)	at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.startContainer(AbstractRunMojo.java:1238)	at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.execute(AbstractRunMojo.java:592)	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)	at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)	at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)	at java.lang.reflect.Method.invoke(Method.java:606)	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)	at org.codehaus.classworlds.Launcher.main(Launcher.java:47)Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].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.run(FutureTask.java:262)	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)	at java.lang.Thread.run(Thread.java:744)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)	... 6 more

 出现如上图的错误很恼火,究竟是哪里的错误呢?

Caused by: java.lang.ClassCastException: org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer

 看到这句话貌似是说我的servlet包里面有冲突了

技术分享

由于我在这里设置了打包的时候自动运行这个程序

然后在里面也有servletapi包冲突了

 

		<!-- 导入java ee jar 包 -->		<dependency>			<groupId>javax</groupId>			<artifactId>javaee-api</artifactId>			<version>7.0</version>		</dependency>

 可以找到这个jar然后将原来的这个改为

		<!-- 导入java ee jar 包 -->		<dependency>			<groupId>javax</groupId>			<artifactId>javaee-api</artifactId>			<scope>provided</scope> 			<version>7.0</version>		</dependency>

 加一个scope provided原因是他会先依赖找到里面需要的jar如果里面有则使用里面的

注:

maven依赖关系中Scope的作用 

Dependency Scope 

在POM 4中,<dependency>中还引入了<scope>,它主要管理依赖的部署。目前<scope>可以使用5个值: 

    * compile,缺省值,适用于所有阶段,会随着项目一起发布。 
    * provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。 
    * runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。 
    * test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。 
    * system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。

Caused by: java.lang.ClassCastException: org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer错误解决办法