1

我正在将一个应用程序从运行良好的 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。

4

1 回答 1

1

你是对的,这确实是问题所在,解决它的方法是将它从你的网络应用程序中删除。

于 2012-09-02T08:34:54.900 回答