今天使用 Maven 搭建一个项目,在pom.xml配置文件里面,加了几个jar包,.
居然报如下错误,
严重: Servlet.service() for servlet jsp threw exception
java.lang.LinkageError: loader constraints violated when linking javax/el/ExpressionFactory class
at org.apache.jsp.index_jsp._jspInit(index_jsp.java:22)
at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:159)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
然后在maven的pom.xml文件里面找到.
<dependency>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
<version>1.0</version>
</dependency>
解决方案:
原因是tomcat的按照目录下,已经存在el-api这个jar包,导致发生冲突, 删除掉即可.
或者你如果是lib目录中加的就直接在lib目录中,选择此el-api.jar从项目中移除..