Caused by: java.lang.NoClassDefFoundError: javax/el/ELManager
出现问题的原因:
在将springboot项目部署到Linux下的Tomcat中,项目无法正常启动(本地能正常运行),Tomcat启动日志中出现:
Caused by: java.lang.NoClassDefFoundError: javax/el/ELManager
各种百度,有说将apache-tomcat/lib目录下,el-api.jar放到Java/jre/lib/ext下。
有说将编译器下的el-api.jar放到apache-tomcat/lib目录下,两种方法都试过了,不行。
问题总结:
出现这个问题的原因,应该是Tomcat的el-api.jar与编译器的el-api.jar包有差异导致的。
我的解决方法:
将我的编译器下的el-api.jar包(我的路径:C:\Program Files\JetBrains\IntelliJ IDEA 2018.1\lib\rt\jasper2.1),
分别放到服务器端的Tomcat的lib包下(我的路径:/usr/local/tomcat/apache-tomcat-7.0.77/lib),
和jdk/lib/ext包下(我的路径:/usr/lib/java-1.8.0/jdk1.8.0_161/jre/lib/ext)。
apache-tomcat/lib目录下,拷贝el-api.jar放到D:\Java\jdk1.6.0_11\jre\lib\ext下即可