gpt4 book ai didi

java - 在本地 tomcat 中运行 Web 应用程序失败并出现 LinkageException

转载 作者:行者123 更新时间:2023-11-28 22:35:52 24 4
gpt4 key购买 nike

将 Web 应用程序部署到本地 tomcat(在 eclipse 中)时,启动失败并出现此错误:

SEVERE: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener

java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.addELResolver(Ljavax/el/ELResolver;)

the class loader (instance of org/apache/catalina/loader/WebappClassLoader) of the current class, com/sun/faces/config/ConfigureListener, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type p.JspApplicationContext.addELResolver(Ljavax/el/ELResolver;)

这是怎么回事?我已经读到它可能与 WEB-INF/lib 中的 servlet jar 有关,但这似乎不是这里的问题:

WEB-INF/lib JARs

那里没有“javax.*”jar,那么为什么该包中的类会失败?

最佳答案

从您的应用程序中删除 servlet-api。这永远不应该出现在 webapp 发行版中。

Tomcat(或任何容器)必须从它自己的类路径中提供这些类,这样类的多个实例就不会被类加载。

如果您使用的是 Maven,这需要是一个提供的依赖项。

关于java - 在本地 tomcat 中运行 Web 应用程序失败并出现 LinkageException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15381927/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com