我正在将一个应用程序从运行良好的 tomcat7 移植到 tomcat6,因为 CloudBees 尚不支持 tomcat 7,这是我正在考虑的 PAAS。
我正在移植到 tomcat 6.035。我认为 el-api.jar 在我的 java-ee 依赖项和 tomcat 上都是我的问题,但我不知道如何解决它。错误和我的 pom.xml 片段如下:
POM:(我认为,这是与 el-api 相关的唯一 2 个依赖项。我删除了另一个,并将 java-ee 依赖项的范围设置为“提供”。
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.faces</artifactId>
<version>2.1.11</version>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
严重:部署期间出现严重错误:java.lang.LinkageError:加载程序约束违规:解析接口方法“javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;”时 当前类 com/sun/faces/config/ConfigureListener 的类加载器(org/apache/catalina/loader/WebappClassLoader 的实例)和用于解析的类加载器(org/apache/catalina/loader/StandardClassLoader 的实例)类 javax/servlet/jsp/JspApplicationContext 对于 com.sun 的 com.sun.faces.config.ConfigureListener.registerELResolverAndListenerWithJsp(ConfigureListener.java:695) 的签名中使用的 javax/el/ExpressionFactory 类型具有不同的类对象。 faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:246) 在 org.apache.catalina.core.StandardContext。