tomcat插件安装与web工程启动:报错
Error configuring application listener of class org.springframework.web.context.ContextLoaderListener java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1713) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:527) at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:509) at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:137) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4733) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5291) 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.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) at java.base/java.lang.Thread.run(Thread.java:831) 10月 04, 2021 10:46:01 下午 org.apache.catalina.core.StandardContext listenerStart 严重: Error configuring application listener of class org.springframework.web.context.request.RequestContextListener java.lang.ClassNotFoundException: org.springframework.web.context.request.RequestContextListener at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1713) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:527) at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:509) at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:137) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4733) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5291) 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.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) at java.base/java.lang.Thread.run(Thread.java:831) 10月 04, 2021 10:46:01 下午 org.apache.catalina.core.StandardContext listenerStart 严重: Skipped installing application listeners due to previous error(s) 10月 04, 2021 10:46:01 下午 org.apache.catalina.core.StandardContext startInternal 严重: Error listenerStart 10月 04, 2021 10:46:02 下午 org.apache.catalina.util.SessionIdGenerator createSecureRandom 信息: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [585] milliseconds. 10月 04, 2021 10:46:02 下午 org.apache.catalina.core.StandardContext startInternal 严重: Context [/maven66] startup failed due to previous errors 10月 04, 2021 10:46:02 下午 org.apache.catalina.loader.WebappClassLoader checkThreadLocalsForLeaks 警告: Failed to check for ThreadLocal references for web application [/maven66] java.lang.reflect.InaccessibleObjectException: Unable to make field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals accessible: module java.base does not "opens java.lang" to unnamed module @3d904e9c at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357) at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:177) at java.base/java.lang.reflect.Field.setAccessible(Field.java:171) at org.apache.catalina.loader.WebappClassLoader.checkThreadLocalsForLeaks(WebappClassLoader.java:2434) at org.apache.catalina.loader.WebappClassLoader.clearReferences(WebappClassLoader.java:1995) at org.apache.catalina.loader.WebappClassLoader.stop(WebappClassLoader.java:1901) at org.apache.catalina.loader.WebappLoader.stopInternal(WebappLoader.java:662) at org.apache.catalina.util.Lifecyclebase.stop(Lifecyclebase.java:232) at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5526) at org.apache.catalina.util.Lifecyclebase.stop(Lifecyclebase.java:232) at org.apache.catalina.util.Lifecyclebase.start(Lifecyclebase.java:160) at org.apache.catalina.core.Containerbase$StartChild.call(Containerbase.java:1559) at org.apache.catalina.core.Containerbase$StartChild.call(Containerbase.java:1549) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) at java.base/java.lang.Thread.run(Thread.java:831) 10月 04, 2021 10:46:02 下午 org.apache.catalina.core.Containerbase startInternal 严重: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to stop component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/maven66]] at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) 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.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) at java.base/java.lang.Thread.run(Thread.java:831) Caused by: org.apache.catalina.LifecycleException: Failed to stop component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/maven66]] at org.apache.catalina.util.Lifecyclebase.stop(Lifecyclebase.java:236) at org.apache.catalina.util.Lifecyclebase.start(Lifecyclebase.java:160) ... 6 more Caused by: org.apache.catalina.LifecycleException: Failed to stop component [WebappLoader[/maven66]] at org.apache.catalina.util.Lifecyclebase.stop(Lifecyclebase.java:236) at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5526) at org.apache.catalina.util.Lifecyclebase.stop(Lifecyclebase.java:232) ... 7 more Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private final java.lang.ClassLoader sun.rmi.transport.Target.ccl accessible: module java.rmi does not "opens sun.rmi.transport" to unnamed module @3d904e9c at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357) at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:177) at java.base/java.lang.reflect.Field.setAccessible(Field.java:171) at org.apache.catalina.loader.WebappClassLoader.clearReferencesRmiTargets(WebappClassLoader.java:2629) at org.apache.catalina.loader.WebappClassLoader.clearReferences(WebappClassLoader.java:1998) at org.apache.catalina.loader.WebappClassLoader.stop(WebappClassLoader.java:1901) at org.apache.catalina.loader.WebappLoader.stopInternal(WebappLoader.java:662) at org.apache.catalina.util.Lifecyclebase.stop(Lifecyclebase.java:232) ... 9 more 10月 04, 2021 10:46:03 下午 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[Tomcat].StandardHost[localhost]] at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) 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:335) at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.startContainer(AbstractRunMojo.java:1091) at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.execute(AbstractRunMojo.java:512) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:957) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289) at org.apache.maven.cli.MavenCli.main(MavenCli.java:193) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:567) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347) 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.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) at java.base/java.lang.Thread.run(Thread.java:831) 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
将jdk版本换成1.8版本。
更改项目使用的jdk版本
project目录结构
修改后的pom文件
4.0.0 com.xxx maven9 1.0-SNAPSHOT war maven9 Maven Webapp http://www.example.com UTF-8 1.8 1.8 junit junit 4.11 test org.apache.tomcat.maven tomcat7-maven-plugin 2.1
用maven插件运行tomcat不需要配置tomcat
点击http://localhost:8080/maven9
出现找不到的错误
参见大佬的博客
解决后跳转成功


![org.apache.catalina.LifecycleException: Failed to stop componen [StandardEngine[Tomcat].StandardHost org.apache.catalina.LifecycleException: Failed to stop componen [StandardEngine[Tomcat].StandardHost](http://www.mshxw.com/aiimages/31/298534.png)
