内置tomcat7插件启动项目,报错java.lang.LinkageError: loader constraint violation:
when resolving interface method ‘javax.el.ExpressionFactory javax.servlet.jsp.JspApplicationContext.getExpressionFactory()’
the class loader org.apache.jasper.servlet.JasperLoader @524bfe7a of the current class,
org/apache/jsp/WEB_002dINF/jsp/success_jsp,
and the class loader org.codehaus.plexus.classworlds.realm.ClassRealm @61ffd148 for the method’s defining class,
javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used
in the signature (org.apache.jsp.WEB_002dINF.jsp.success_jsp is in unnamed module of loader org.apache.jasper.servlet.JasperLoader @524bfe7a,
parent loader org.apache.catalina.loader.WebappClassLoader @42d0a9d5;
javax.servlet.jsp.JspApplicationContext is in unnamed module of loader org.codehaus.plexus.classworlds.realm.ClassRealm @61ffd148,
parent loader ‘bootstrap’)
原因:jar包冲突
解决办法:因为内置插件,没有办法去tomcat包下找jar包删除掉,报错中有javax.el.ExpressionFactory,找到pom文件, 在这两个依赖下面加provided,搞定。
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
<version>3.0.1-b04</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>javax.el</artifactId>
<version>2.2.6</version>
<scope>provided</scope>
</dependency>