出現問題的原因:
在將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下即可