Tomcat 7 java.lang.NoClassDefFoundError:javax/el/ELManager
参见英文答案 > Why am I getting a NoClassDefFoundError in Java?????????????????????????????????????20个 你有任何想法如何解决这个问题? 为什么我要从tomcat 8切换到7?在测试环境中,repo中的tomcat 8和服务器上的tomcat7. 的pom.xml
最佳答案
如果您想在生产中运行Tomcat 7上的webapp,那么您应该在测试环境中使用Tomcat 7.
发生的事情是您不小心引入了对EL 3.0 API的依赖…并将其包含在您的POM文件中.它在Tomcat 8上工作.但在Tomcat 7上,该平台支持EL 2.1.因此,当您的应用程序尝试加载javax.el.E??LManager的类文件时…它会失败. 解决方案: >将您的生产平台升级到Tomcat 8 Apache Tomcat Versions页面列出了每个主要版本Tomcat的各种规范版本.
如果您准备“屠宰”Tomcat 7服务器,您可能可以用更新的实现替换EL实现.但我不会尝试,因为1)它可能根本不起作用,2)结果可能难以维持.并且您有责任为您的运营,质量保证和/或安全团队提供中风!
当然.更改您的POM以摆脱这个:
|