Caused by: java.lang.NoClassDefFoundError: javax/servlet/GenericFilter

这个类没被发现的问题

1、如果用了maven管理jar,到仓库查看对应的路劲下面是否正确打包成功

2、如果打包成功了对应的jar到对应仓库项目还是报这样错误,解压jar包查看目录结构是否正确

3、如何检查jar包的目录结构是否正确?如熟悉jar包的一个应用过程可以通过经验判断,如经验不足可以通过解压正常使用jar对比

4、maven的打包成功了还有可能是多出一部分文件,关于项目配置maven的一些属性,决定项目寻找jar是先本地-私服-远程第三方这么一个先后关系

 

以上是排查的一个总体过程

还可能有其他比较生僻的现象,下面就是其中一种

如有以下这种错误,其他办法都试过没用,那么可能是你用了springboot  部署在tomcat7 不兼容,换成tomcat 8试试 

这个问题既是说可能是一些版本间的兼容问题,可以多搜寻相关问题答案,同时也希望大家能无私分享

ction 10.7.2. Offending class: javax/el/Expression.class
十二月 10, 2020 10:47:28 下午 org.apache.catalina.loader.WebappClassLoaderBase validateJarFile
信息: validateJarFile(/home/app/kuaiyueboche-service/webapps/web-1.0.0.0-SNAPSHOT/WEB-INF/lib/tomcat-embed-core-9.0.35.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class
十二月 10, 2020 10:47:28 下午 org.apache.catalina.core.ContainerBase addChildInternal
严重: ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: 无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/web-1.0.0.0-SNAPSHOT]]
    at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1007)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:983)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:639)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1127)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:2019)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoClassDefFoundError: javax/servlet/GenericFilter
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:3258)
    at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:1416)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1920)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1795)
    at org.apache.tomcat.websocket.server.WsServerContainer.(WsServerContainer.java:106)
    at org.apache.tomcat.websocket.server.WsSci.init(WsSci.java:137)
    at org.apache.tomcat.websocket.server.WsSci.onStartup(WsSci.java:49)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5642)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    ... 10 more
Caused by: java.lang.ClassNotFoundException: javax.servlet.GenericFilter
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1951)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1795)
    ... 22 more


信息: Server startup in 841 ms

 

信息: validateJarFile(/home/app/kuaiyueboche-service/webapps/ROOT/WEB-INF/lib/tomcat-embed-core-9.0.35.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class
十二月 10, 2020 11:30:41 下午 org.apache.catalina.core.ContainerBase addChildInternal
严重: ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: 无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
    at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1007)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:983)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:639)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1127)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:2019)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoClassDefFoundError: javax/servlet/GenericFilter
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:3258)
    at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:1416)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1920)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1795)
    at org.apache.tomcat.websocket.server.WsServerContainer.(WsServerContainer.java:106)
    at org.apache.tomcat.websocket.server.WsSci.init(WsSci.java:137)
    at org.apache.tomcat.websocket.server.WsSci.onStartup(WsSci.java:49)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5642)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    ... 10 more
Caused by: java.lang.ClassNotFoundException: javax.servlet.GenericFilter
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1951)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1795)
    ... 22 more

十二月 10, 2020 11:30:41 下午 org.apache.catalina.startup.HostConfig deployWAR
严重: 部署 Web 应用程序 archive [/home/app/kuaiyueboche-service/webapps/ROOT.war] 时出错
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: 无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1011)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:983)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:639)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1127)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:2019)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(java,tomcat,tomcat,java)