启动tomcat报错:
java.lang.NoClassDefFoundError: Could not initialize class org.apache.jasper.el.ELContextImpl
关于这个问题:
运行页面只要有EL表达式的都报Could not initialize class org.apache.jasper.el.ELContextImpl这个错误
凭经验讲,肯定是哪里的jar和tomcat的冲突了,jar冲突的几率很大。
于是只能一点一点排查,每个pom依赖都试,删除再试,最后找到了。
问题在activiti工作流里面引用的jar冲突了。不管是springboot还是普通springmvc项目,如果用activiti6.x版本都会用到juel-spi这个东西
查找过程:eclipse开发工具 ctrl+鼠标点击activiti那个依赖,相关activiti依赖的页面。
第一种解决方式:tomcat换成7和activiti换成5.x
第二种:排除juel-spi这个和tomcat自身的jar的冲突
<!-- activiti -->
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring-boot-starter-basic</artifactId>
<version>6.0.0</version>
<exclusions>
<!-- 排除juel-spi,会和tomcat下的servlet、jsp等jar有冲突 -->
<exclusion>
<groupId>de.odysseus.juel</groupId>
<artifactId>juel-spi</artifactId>
</exclusion>
</exclusions>
</dependency>