微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Tomcat 7 java.lang.NoClassDefFoundError:javax/el/ELManager [复制]

参见英文答案 > Why am I getting a NoClassDefFoundError in Java?                                    20个
我想将我的应用程序部署到版本7中的tomcat,我得到以下异常java.lang.NoClassDefFoundError:javax / el / ELManager
但是,如果我尝试将此应用程序部署到tomcat版本8,它可以正常工作.

你有任何想法如何解决这个问题?

为什么我要从tomcat 8切换到7?在测试环境中,repo中的tomcat 8和服务器上的tomcat7.

的pom.xml

web.xml中

最佳答案
如果您想在生产中运行Tomcat 7上的webapp,那么您应该在测试环境中使用Tomcat 7.

发生的事情是您不小心引入了对EL 3.0 API的依赖…并将其包含在您的POM文件中.它在Tomcat 8上工作.但在Tomcat 7上,该平台支持EL 2.1.因此,当您的应用程序尝试加载javax.el.E​​LManager的类文件时…它会失败.

解决方案:

>将您的生产平台升级到Tomcat 8
>针对Tomcat 7进行测试,并消除新代码中代码库中的任何依赖关系.

Apache Tomcat Versions页面列出了每个主要版本Tomcat的各种规范版本.

Is there no possibility to solve this issue?

如果您准备“屠宰”Tomcat 7服务器,您可能可以用更新的实现替换EL实现.但我不会尝试,因为1)它可能根本不起作用,2)结果可能难以维持.并且您有责任为您的运营,质量保证和/或安全团队提供中风!

Is there no possibility to solve this issue with changes in the application?

当然.更改您的POM以摆脱这个:


                
                                

原文地址:https://www.jb51.cc/spring/432520.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐