错误:java.lang.ClassNotFoundException-javax.el.ELManager

Maven 项目,pom.xml文件装配的是 tomcat7-maven-plugin插件,但项目中使用了Servlet 3.0的特性。此情况下如果项目使用Maven跑,则会报错:java.lang.ClassNotFoundException: javax.el.ELManager

javax.el.ELManager这个包在Tomcatlib库里是存在的,真实的报错原因是Tomcat 7里的该包的版本低了,满足不了项目里对Servlet 3.0特性的支持。而Servlet 3.0 + 至少需要Tomcat 8或更高的版本才能支持。

解决:因到目前为止没有Tomcat 8Maven插件,所在需要在pom.xml里添加更高版本的依赖:

1
2
3
4
5
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
<version>3.0.0</version>
</dependency>
阅读更多

Spring MVC报错:java.lang.NullPointerException at org.apache.jsp.WEB_002dINF.jsp.index_jsp._jspInit(index_jsp.java:31)

  报错:访问Maven管理的SpringMVC 项目jsp页面,错误:at org.apache.jsp.WEB_002dINF.jsp.index_jsp._jspInit(index_jsp.java:31)

  原因:是项目的servlet-apijsp-api两个jar包与Tomcat自带的包冲突导致。

  解决:在pom.xml文件,将这两个jar包添加<scope>provided</scope>控制,只在编译和测试有效。

阅读更多