idea 启动报错:Caused by: java.lang.LinkageError: loader constraint violation: Failed to start component

在尝试部署应用程序时,遇到了一个严重的错误,原因是类加载器约束违反(LoaderConstraintViolation)。具体表现为Tomcat的WebappClassLoader之前已经初始化加载了一个不同类型的类javax.servlet.ServletContext。此问题通常由于项目中使用的jar包版本与Tomcat内置的版本不一致导致的jar包冲突。解决方法是确保项目依赖的jar包与Tomcat环境兼容,或者在启动时排除冲突的包。
Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

严重: ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/app]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1017)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:993)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:712)
at org.apache.catalina.startup.HostConfigDeployDescriptor.run(HostConfig.java:2003)......................Causedby:java.lang.LinkageError:loaderconstraintviolation:loader(instanceoforg/apache/catalina/loader/WebappClassLoader)previouslyinitiatedloadingforadifferenttypewithname"javax/servlet/ServletContext"atjava.lang.ClassLoader.defineClass1(NativeMethod)atjava.lang.ClassLoader.defineClassCond(ClassLoader.java:631)atjava.lang.ClassLoader.defineClass(ClassLoader.java:615).......................org.apache.catalina.startup.HostConfigdeployDescriptor严重:ErrordeployingconfigurationdescriptorC:−−−−−−−−−−−−−.xmljava.lang.IllegalStateException:ContainerBase.addChild:start:org.apache.catalina.LifecycleException:Failedtostartcomponent[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/app]]atorg.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1021)atorg.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:993)atorg.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)atorg.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:712)atorg.apache.catalina.startup.HostConfigDeployDescriptor.run(HostConfig.java:2003) ...................... Caused by: java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/catalina/loader/WebappClassLoader) previously initiated loading for a different type with name "javax/servlet/ServletContext" at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) at java.lang.ClassLoader.defineClass(ClassLoader.java:615) ....................... org.apache.catalina.startup.HostConfig deployDescriptor 严重: Error deploying configuration descriptor C:-------------.xml java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/app]] at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1021) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:993) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:712) at org.apache.catalina.startup.HostConfigDeployDescriptor.run(HostConfig.java:2003)......................Causedby:java.lang.LinkageError:loaderconstraintviolation:loader(instanceoforg/apache/catalina/loader/WebappClassLoader)previouslyinitiatedloadingforadifferenttypewithname"javax/servlet/ServletContext"atjava.lang.ClassLoader.defineClass1(NativeMethod)atjava.lang.ClassLoader.defineClassCond(ClassLoader.java:631)atjava.lang.ClassLoader.defineClass(ClassLoader.java:615).......................org.apache.catalina.startup.HostConfigdeployDescriptor严重:ErrordeployingconfigurationdescriptorC:.xmljava.lang.IllegalStateException:ContainerBase.addChild:start:org.apache.catalina.LifecycleException:Failedtostartcomponent[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/app]]atorg.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1021)atorg.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:993)atorg.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)atorg.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:712)atorg.apache.catalina.startup.HostConfigDeployDescriptor.run(HostConfig.java:2003)

Tomcat启动报错如上:
原因是jar包冲突,项目与tomcat的jar包版本不一致,解决方法是:
1、删掉项目引入的servlet-api-2.5.jar!jar包删掉后的状态在这里插入图片描述将冲突的包在启动的时候加载。

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值