Эксперты
Я недавно попробовал свое приложение Spring MVC в Tomcat 7.0.23. Управление зависимостями в Maven. Я получаю ошибку ниже:
java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/WEB_002dINF/jsp/login_jsp, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type avax/el/ExpressionFactory; used in the signature
То же приложение отлично работает в Glassfish. Я не могу понять, что здесь происходит.
Ниже приведен отрывок из pom.xml:
<java-version>1.7</java-version>
<java.servlet.version>2.5</java.servlet.version>
<java.servlet.jsp.version>2.1</java.servlet.jsp.version>
<java.servlet.jstl.version>1.2</java.servlet.jstl.version>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>${java.servlet.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>${java.servlet.jsp.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>${java.servlet.jstl.version}</version>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>el-impl</artifactId>
<version>2.2</version>
<scope>runtime</scope>
</dependency>
Я поиграл со многими комбинациями библиотек, как упоминалось в разных постах, но все же не повезло. Любой совет приветствуется.